الموضوع 65 من 91· هندسة البرمجيات والتسليم الرقمي
WSJF وCD3
CD3 (تكلفة التأخير مقسومة على المدة) وWSJF (أوزان أقصر عمل أولًا) هما قاعدتا أولوية تجدولان العمل بـكثافة القيمة: كم من تكلفة التأخير تُزال لكل وحدة قدرة نادرة مُستهلَكة. تحت قدرة ثابتة مشتركة، أعلى-CD3-أولًا هو التسلسل الأمثل رياضيًا لتقليل إجمالي تكلفة التأخير.
لماذا يهم هذا
كل تراكم مشكلة تقنين: عناصر جديرة كثيرة، خط أنابيب واحد. اقتصاد الصحة حلّ المشكلة نفسها لميزانيات الصحة بجداول دوري لفعالية التكلفة - رتِّب التدخلات بالصحة المكتسَبة لكل جنيه، موِّل نزولًا في القائمة حتى تُستنفَد الميزانية. CD3 هو المنطق نفسه لقدرة التسليم: منفعة لكل وحدة من المورد المُقيَّد، مُموَّلة بترتيب الرتبة. الحصول على التسلسل الصحيح مال مجاني - نفس العمل، نفس القدرة، تكلفة تأخير إجمالية أقل.
طريقة الحساب
CD3 = تكلفة التأخير (£/أسبوع) / المدة (أسابيع) - وحدات حقيقية (Black Swan Farming)
WSJF = (قيمة المستخدم-الأعمال + إلحاح الوقت + تخفيض المخاطر/تمكين
الفرصة) / حجم العمل - وكيل SAFe بمقياس نسبي،
نقاط Fibonacci مُعدَّلة
CD3 بمُدة حقيقية (تكلفة التأخير) أقوى صرامة من نقاط WSJF عديمة الوحدة - WSJF هو لـCD3 ما تسجيل بمعايير متعدّدة هو لـتحليل التكلفة والمنفعة العامة الكامل: قابل للاستخدام عندما يكون التنقيد غير عملي، قابل للخداع عندما تفتقر النقاط لمرساة.
مثال محلول
ثلاث ميزات، فريق واحد:
الميزة تكلفة التأخير (£/أسبوع) المدة CD3
A 30,000 10 أسابيع 3,000
B 12,000 2 أسبوع 6,000
C 5,000 1 أسبوع 5,000
ترتيب CD3: B، C، A. قارن إجمالي تكلفة التأخير مقابل "أكبر تكلفة تأخير أولًا" (A، B، C):
ترتيب CD3 (B،C،A): A ينتظر 3 أسابيع، C ينتظر 2 ← 30ألف×3 + 5ألف×2 = 100 ألف£ تكلفة تأخير
ترتيب تكلفة التأخير (A،B،C): B ينتظر 10، C ينتظر 12 ← 12ألف×10 + 5ألف×12 = 180 ألف£
نفس الميزات، نفس الفريق - التسلسل وحده يوفّر 80,000£. الحدس: العناصر الصغيرة العاجلة تذهب أولًا لأنها تُحرِّر تكلفة تأخيرها رخيصًا؛ العنصر الكبير يخسر قليلًا بالانتظار قصيرًا.
الصلة بهندسة البرمجيات
لمحافظ برمجيات الرعاية الصحية، حدِّد وحدة تكلفة التأخير بالوحدات التي يُعلِّمها هذا المرجع: QALY/أسبوع × العتبة + £/أسبوع تشغيلية، ويصبح التراكم قابلًا للمقارنة مباشرة بكيفية ترتيب نظام الصحة لكل شيء آخر يشتريه. ملاحظتان عمليّتان: (1) المدة تعني الزمن التقويمي المُحتلّ للقيد، لا الجهد - عنصر بمدة 2 أسبوع منقضية يحتاج يومين من فريق عنق الزجاجة أرخص مما يبدو (انظر تحسين الموارد المصبّية)؛ (2) المستشفيات تُشغِّل القاعدة نفسها ضمنيًا عندما تُرتِّب قوائم المسرح بإنتاجية مُرجَّحة بالإلحاح - فئات الأولوية السريرية هي CD3 مُرجَّح بالشدّة (انظر نقص QALY ومعدّلات الشدّة).
المزالق
- رنجمة نقاط WSJF: جدالات Fibonacci عديمة الوحدة تتقارب على من يجادل بأعلى صوت؛ رسِّخ على الأقل أعلى-عناصر-التراكم في تكلفة تأخير حقيقية.
- خداع المدة: تقسيم العناصر لتضخيم رتبة CD3 - مقبول عندما تُقدِّم الأقسام قيمة مستقلة، احتيال عندما لا تفعل.
- تجاهل ملفات الإلحاح: تكلفة تأخير بشكل موعد نهائي (تواريخ تنظيمية) تكسر افتراض المعدل الثابت؛ جدولها بجدوى التاريخ، ثم طبّق CD3 على الباقي.
- مضاربة إعادة الترتيب: CD3 لقرارات التسلسل عند وقت الالتزام، لا لإعادة الترتيب اليومي للعمل قيد التنفيذ (انظر مقاييس التدفق عن WIP).
المصادر
- Black Swan Farming, CD3 and WSJF. https://blackswanfarming.com/wsjf-weighted-shortest-job-first/
- SAFe, WSJF. https://framework.scaledagile.com/wsjf
- Reinertsen DG, The Principles of Product Development Flow.