
MoSCoW: طريقة عملية لترتيب الأولويات في Agile دون اختناق
- تمهيد: لماذا نختنق؟ وكيف تساعد MoSCoW؟
- ما هي MoSCoW؟
- الفئات الأربع مع أمثلة واقعية
- متى تُستخدم MoSCoW؟
- قواعد استخدام عملية
- خطوات تطبيق قابلة للتنفيذ
- تكامل عملي مع Jira / ClickUp / Trello
- أخطاء شائعة (Anti-patterns)
- قياس الأثر (مؤشرات)
- قالب جدول MoSCoW (HTML)
- روابط داخلية وخارجية
- الأسئلة الشائعة FAQ
- 📚 كتاب مقترح
تمهيد: لماذا نختنق؟ وكيف تساعد MoSCoW؟
في بيئات Agile، يتزايد ضغط الطلبات بوتيرة أسرع من سعة الفريق؛ فالكل يريد كل شيء «الآن». ونتيجة لذلك، تتضخم قوائم Product Backlog ويتراجع التركيز. هنا تأتي MoSCoW Prioritization لتمنح الفريق لغة واضحة ومتفقًا عليها لتقسيم العناصر حسب الأهمية والزمن. وبذلك، يستطيع الفريق أن يقرر بسرعة ودون شد وجذب: ما الذي نحتاج إليه الآن؟ وما الذي سننفذه لاحقًا؟ وماهو الذي يمكن تأجيله؟ وما الذي سنستبعده هذه المرة؟
ما هي MoSCoW؟
MoSCoW هي أسلوب لترتيب الأولويات ظهر مع إطار DSDM (Dynamic Systems Development Method)، ويُقسّم العمل إلى أربع فئات:
Must-have (ضروري)، Should-have (مهم)، Could-have (جيد لو وجد)، وWon’t-have (this time)
(لن ننفّذه في هذا الإصدار). حروف MoSCoW مأخوذة من بدايات الكلمات الأربع، مع إضافة حرفي o لسهولة اللفظ.
وتتمثل ميزتها الأساسية في إنشاء لغة مشتركة بين الفريق وأصحاب المصلحة. ومن ثم، تسهّل هذه اللغة التفاوض وتخفف الاختناقات أثناء التخطيط للإصدار أو السبرنت.
الفئات الأربع مع أمثلة واقعية
Must-have (ضروري)
تشمل هذه الفئة العناصر «غير القابلة للتنازل»؛ لأن غيابها يمنع المنتج من العمل، أو يخالف اشتراطًا قانونيًا أو أمنيًا، أو يُفشل هدف الإصدار.
- ميزة منتج: مصادقة 2FA لبوابة عملاء تتطلب امتثالًا أمنيًا.
- تحسين: إصلاح عطل يمنع إتمام الدفع في المتجر الإلكتروني.
- تذكرة دعم: ثغرة Critical تؤدي لتسرب بيانات.
Should-have (مهم)
يضيف العنصر في هذه الفئة قيمة واضحة، لكنه ليس حرجًا للإطلاق «هذه المرة». لذلك، يمكن تأجيله دون الإضرار بالتجربة الأساسية.
- ميزة منتج: حفظ السلة لغير المسجلين (يحسن التحويل لكنه ليس أساسيًا للشراء).
- تحسين: تحسين أداء صفحة النتائج من 1.2s إلى 0.8s.
- دعم: أتمتة ردود البريد لدعم الحالات الشائعة.
Could-have (جيد لو وجد)
يزيد هذا العنصر رضا المستخدم، لكن أثره يظل محدودًا. ولهذا، يُعد مرشحًا مناسبًا عند وجود سعة فائضة، أو عنصرًا مرنًا يمكن إدراجه في نهاية التخطيط.
- ميزة منتج: ثيم داكن (Dark Mode) لواجهة إدارة داخلية.
- تحسين: ترتيب ثانوي لعناصر الواجهة في صفحة ثانوية.
- دعم: ردود جاهزة إضافية للسيناريوهات النادرة.
Won’t-have (this time) — لن ننفّذه «هذه المرة»
تضم هذه الفئة طلبات اتفق الفريق على استبعادها الآن بوعي. ومع ذلك، قد تعود في إصدار لاحق، أو تُغلق إذا انتفى سببها.
- ميزة منتج: تكامل مع نظام طرف ثالث قيد التغيير.
- تحسين: إعادة تصميم شامل للصفحة الرئيسية قبل حملة قريبة.
- دعم: قناة دردشة صوتية 24/7 لفريق صغير.

متى تُستخدم MoSCoW؟
- تنقية Backlog: جلسات Backlog Refinement لتقليل الضبابية ورفع الوضوح.
- تخطيط إصدار/سبرنت: تحديد الحد الأدنى القابل للإطلاق مع مساحة آمنة للمفاجآت.
- إدارة الطوارئ: عند تراكم الأعطال الحرجة أو تغير قيود خارجية (امتثال/اعتمادية).
قواعد استخدام عملية
- عرّف المعايير مسبقًا: ما الذي يجعل العنصر Must؟ هل هو قانوني، أمني، وظيفي أساسي؟ وثّق ذلك.
- اضبط سقف Must ≈ 60%: اترك ~40% لـ Should/Could والمخاطر التقنية.
- مراجعة وإعادة تصنيف: إذا ظهرت اعتماديات/عوائق، انقل العنصر للفئة المناسبة بدل التمسك بتصنيف قديم.
- التعامل مع «كل شيء Must»: اطلب Trade-offs صريحة: كل عنصر يُضاف إلى Must يستلزم عنصرًا آخر يُزال.
أما إذا أردت ترتيب الأولويات وفق آراء الفريق بطريقة منظمة ودون هيمنة صوت واحد، فيمكنك استخدام المجموعات الاسمية.
خطوات تطبيق قابلة للتنفيذ
- جمع العناصر: اسحب المرشحين من الـ Backlog مع أوصاف موجزة وقيم أعمال واضحة.
- تعريف المعايير: اتفق على ضوابط الفئات الأربع (قانوني/أمني/وظيفي/قيمة/مخاطر).
- تصنيف مشترك: جلسة مع Product Owner والفريق للتصنيف وفق المعايير، لا وفق الآراء.
- ضبط السعة: احسب سعة السبرنت/الإصدار وانقل العناصر بين الفئات حتى يستقر «Must» ضمن السقف.
- مراجعة سريعة: تحقق من الاعتماديات والتتابع (Dependencies/Sequencing).
- متابعة: راقب التنفيذ، حرّك العناصر إذا تغيّرت المعطيات، ودوّن القرارات.
تكامل عملي مع Jira / ClickUp / Trello
- Jira: أضف Custom Field من نوع قائمة باسم
MoSCoWبقيم:MUST,SHOULD,COULD,WONT. استخدم لوحات Swimlanes حسب هذا الحقل. مثال استعلام:project = ABC AND "MoSCoW" = MUST. - ClickUp: استخدم Dropdown Custom Field بنفس القيم، وأضف Views مفلترة لكل فئة.
- Trello: أنشئ Labels بالأسماء الأربعة أو لوائح (Lists) منفصلة، مع Butler لأتمتة نقل البطاقات.
أخطاء شائعة (Anti-patterns) وكيف نتجنبها
- «كل شيء Must»: عالجها بميزان Trade-offs وربط القرار بالمخاطر والسعة.
- عدم تحديث التصنيف: الظروف تتغير؛ راجع الفئات دوريًا.
- غياب المعايير: بدون قواعد متفق عليها ستعود للمجادلات الشخصية.
- تجاهل الاعتماديات: يمكن أن يسبق عنصر Should عنصر Must إذا كان يمهّد الطريق وظيفيًا.
قياس الأثر (مؤشرات)
- نسبة Must/Should/Could: توازن صحي ≈ 60/25/15 (إرشادي، وليس قانونًا).
- انخفاض العناصر المُزاحة بين الفئات مع مرور الوقت يعكس جودة المعايير واستقرارها.
- الالتزام بالنطاق: نسبة التغييرات على Must أثناء التنفيذ.
- معدل تسليم الإصدار: Release Throughput قبل/بعد اعتماد MoSCoW.
قالب جدول MoSCoW (HTML) جاهز
انسخه كما هو داخل المقال أو حوله إلى جدول بلوك.
| الفئة | الوصف | مثال عملي | مذكرة |
|---|---|---|---|
| Must-have | أساسي للإطلاق أو التوافق القانوني/الأمني. | إصلاح عطل يمنع الدفع. | سقف إجمالي ≈ 60% من السعة. |
| Should-have | مهم، لكن يمكن تأجيله دون كسر التجربة. | تحسين أداء صفحة النتائج. | مرشح قوي للإصدار التالي. |
| Could-have | جيد لو وجد، قيمة إضافية محدودة. | ثيم داكن لواجهة داخلية. | يُدرج عند توافر السعة. |
| Won’t-have (this time) | مستبعد بوعي في هذا الإصدار. | تكامل مع طرف ثالث غير مستقر. | راجع لاحقًا أو أغلقه إن انتفى السبب. |
روابط داخلية وخارجية
- مقال Kanban: /kanban-basics/
- مقال Daily Standup: /daily-standup/
- مرجع DSDM (Agile Business Consortium) حول MoSCoW:
- مصفوفة تحديد الأولويات MoSCoW
agilebusiness.org
(الجهة التي انبثق منها DSDM)
نموذج معايير تصنيف عملي (Checklist)
قبل بدء أي جلسة تصنيف، اتفقوا كتابيًا على ضوابط واضحة. بعد ذلك، استخدموا القائمة التالية مرجعًا سريعًا خلال النقاش.
| الفئة | معايير قرار سريعة | اختبار واقعي (Yes/No) |
|---|---|---|
| Must-have | التزام قانوني/أمني؟ بدونه يتعطل الهدف الرئيسي للإصدار؟ يؤثر مباشرة على تحصيل الإيراد/حماية البيانات؟ | إذا كانت إجابتان أو أكثر = Must |
| Should-have | يرفع القيمة أو الرضا بشكل ملموس؟ تأجيله لا يكسر التجربة الأساسية؟ يخدم هدف الإصدار التالي بوضوح؟ | إذا كانت إجابتان = Should |
| Could-have | «تحسين لطيف» بقيمة محدودة؟ سهل التنفيذ/سريع (Low Effort)؟ مناسب لحشوة السعة المتبقية؟ | إذا كانت إجابتان = Could |
| Won’t (this time) | خارج النطاق الحالي؟ اعتماديات غير مستقرة الآن؟ مخاطره أعلى من عوائده في الأجل القريب؟ | إذا كانت إجابتان = Won’t |
سيناريو تطبيقي مختصر
لنفترض أن فريق المنتج يستعد لإصدار جديد خلال ثلاثة أسابيع، وأن سعته المتاحة تبلغ 60 نقطة. بعد عقد جلسة MoSCoW، توصّل الفريق إلى التوزيع التالي:
| العنصر | التقدير | الفئة | التبرير |
|---|---|---|---|
| إصلاح فشل الدفع (Checkout) | 13 | Must | يوقف الإيراد ويؤثر على جميع المستخدمين |
| تهيئة 2FA للوحة العملاء | 8 | Must | امتثال أمني |
| تحسين زمن تحميل صفحة النتائج 1.2s → 0.9s | 5 | Should | تحسين التحويل، غير حرج للإطلاق |
| قائمة أمنيات للزوار غير المسجلين | 8 | Should | قيمة ملموسة، لكن يمكن تأجيلها إصدارًا |
| ثيم داكن للوحة الداخلية | 3 | Could | لطيف، تأثير محدود |
| تكامل مع بوابة دفع جديدة | 13 | Won’t | طرف ثالث غير مستقر الآن |
الإجمالي: Must = 21 نقطة (~35%)، Should = 13 نقطة (~22%)، Could = 3 نقاط (~5%)، الباقي يُملأ لاحقًا مع مساحة للمخاطر.
نص إجرائي للتعامل مع «كل شيء Must»
استخدم الصيغة التالية في الاجتماعات الحساسة:
«حتى نحافظ على التزام الإصدار، نضع سقف Must ≈ 60%. إذا رفعنا هذا العنصر إلى Must،
سنُسقط عنصرًا مساويًا من Must الحالي. ما هو أقل عنصر خطورة يمكن تأجيله؟»
- اعرض أثر القرار على الخطة بخريطة بسيطة (Timeline قبل/بعد).
- أعد ربط كل Must بهدف عمل واضح (Revenue/Compliance/SLA).
- ثبّت القرار في مذكرة قصيرة يمكن الرجوع لها لاحقًا.
أسئلة تدقيق سريعة أثناء التصنيف
- ما نتيجة عدم تنفيذ هذا العنصر خلال الإصدار الحالي؟
- هل هناك بديل أبسط يحقق 80% من القيمة بنصف الجهد؟
- ما الاعتماديات التي قد تُغيّر فئته خلال الأسبوعين القادمين؟
- هل لدينا قياس «قيمة» يبرر رفعه من Could إلى Should؟
حجم احتياطي المخاطر (Risk Buffer)
كذلك، حافظ على مساحة غير مُجدولة (Uncommitted Capacity) تتراوح بين 10 و20%، وفقًا لنضج الفريق وتقلبات البيئة. فمن خلال هذا الاحتياطي، يمكنك استيعاب الأعطال الحرجة دون إسقاط عدد كبير من عناصر Should/Could.
رجوع بعد الإصدار (Retro) خاص بـ MoSCoW
- هل التزمنا بسقف Must؟ إن لم نفعل، لماذا؟
- كم عنصراً تغيّر بين الفئات؟ هل كان السبب ضعف المعايير أم تبدّل السياق؟
- هل تحسنت نسبة إنجاز الإصدارات أو الالتزام بالنطاق مقارنة بالإصدار السابق؟
الأسئلة الشائعة (FAQ)
ماذا أفعل لو أراد كل أصحاب المصلحة تصنيف كل شيء Must؟
استخدم مبدأ Trade-offs: لكل عنصر يُضاف إلى Must، يجب إزالة عنصر آخر من الفئة نفسها. بعد ذلك، اربط القرار بمخاطر الأعمال أو الأمن أو الامتثال، ووضّح سقف السعة (~60%). وأخيرًا، اطلب من الجهة المالكة ترتيب عناصرها داخليًا قبل طرحها على الفريق.
كيف أحدد المعايير الفاصلة بين Should وCould؟
اربط الفاصل بين الفئتين بـ القيمة القابلة للقياس وتأثير التأجيل. فإذا كان التأجيل لا يؤثر في الهدف الحالي ولا يهدد الامتثال أو الأمان، فغالبًا ينتمي العنصر إلى Could. أما إذا كان يحسّن تجربة ملموسة ويدعم هدف الإصدار التالي، فهو أقرب إلى Should.
هل تناسب MoSCoW الفرق التشغيلية/الدعم؟
نعم، ولكن مع تكييف بسيط. أولًا، صنّف التذاكر حسب أثر الانقطاع على الخدمة (SLA/الأثر/عدد المستخدمين). ثم اجعل الأعطال الحرجة Must، والتحسينات التشغيلية Should، وطلبات الرفاهية Could. في المقابل، خصص Won’t (this time) للطلبات غير الواقعية أو الخارجة عن النطاق الحالي.