Тема 65 из 91· Разработка ПО и цифровая доставка
WSJF и CD3 (WSJF and CD3)
CD3 (Cost of Delay Divided by Duration — стоимость задержки, делённая на длительность) и WSJF (Weighted Shortest Job First — взвешенный принцип «сначала самая короткая задача») — это правила приоритизации, планирующие работу по плотности ценности: сколько стоимости задержки устраняется на единицу потреблённой дефицитной мощности. При общей фиксированной мощности порядок «сначала наивысший CD3» математически оптимален для минимизации общей стоимости задержки.
Почему это важно
Каждый бэклог — это проблема нормирования: много достойных элементов, один конвейер. Экономика здравоохранения решила ту же проблему для бюджетов здравоохранения с помощью турнирных таблиц затратной эффективности: ранжируйте вмешательства по здоровью, приобретённому на фунт, финансируйте по списку сверху вниз, пока бюджет не исчерпан. CD3 — идентичная логика для мощности поставки: выгода на единицу ограниченного ресурса, финансируемая по рангу. Правильное упорядочивание — это бесплатные деньги: та же работа, та же мощность, меньше общей стоимости задержки.
Математика
CD3 = Стоимость задержки (£/неделю) / Длительность (недель) — реальные единицы (Black Swan Farming)
WSJF = (ценность для пользователя/бизнеса + срочность по времени + снижение риска/
обеспечение возможностей) / размер задачи — относительно-шкальный прокси SAFe,
баллы по модифицированной шкале Фибоначчи
CD3 с настоящей валютой (стоимость задержки) строго сильнее безразмерных баллов WSJF — WSJF относится к CD3 так же, как многокритериальная балльная оценка относится к полному анализу «затраты-полезность»: применим, когда монетизация непрактична, подвержен манипуляциям, когда у баллов нет якоря.
Практический пример
Три функции, одна команда:
Функция CoD (£/нед) Длительность CD3
A 30,000 10 нед 3,000
B 12,000 2 нед 6,000
C 5,000 1 нед 5,000
Порядок по CD3: B, C, A. Сравните общую стоимость задержки с порядком «сначала наибольшая CoD» (A, B, C):
Порядок по CD3 (B,C,A): A ждёт 3 нед, C ждёт 2 → 30k×3 + 5k×2 = £100k стоимости задержки
Порядок по CoD (A,B,C): B ждёт 10, C ждёт 12 → 12k×10 + 5k×12 = £180k
Те же функции, та же команда — одно лишь упорядочивание экономит £80 000. Интуиция: малые, срочные элементы идут первыми, потому что они дёшево высвобождают свою стоимость задержки; крупный элемент мало теряет от краткого ожидания.
Связь с разработкой программного обеспечения
Для портфелей медицинского ПО выражайте CoD в единицах, которым учит этот репозиторий: QALY/неделю × порог + операционные £/неделю, и бэклог становится напрямую сопоставимым с тем, как система здравоохранения ранжирует всё остальное, что покупает. Две практические заметки: (1) длительность означает календарное время занятости ограничения, а не трудозатраты — элемент с 2-недельным сроком, требующий 2 дня работы команды-узкого места, дешевле, чем кажется (см. оптимизацию последующих ресурсов); (2) больницы применяют то же правило неявно, когда упорядочивают операционные листы по пропускной способности, взвешенной по срочности — клинические категории приоритизации — это CD3, взвешенный по тяжести (см. дефицит QALY и модификаторы тяжести).
Подводные камни
- Театр баллов WSJF: безразмерные споры по Фибоначчи сходятся к тому, кто громче всех спорит; заякорите хотя бы элементы верха бэклога в реальной CoD.
- Манипуляция длительностью: разбиение элементов для раздувания ранга CD3 — нормально, когда разбиения доставляют ценность независимо, мошенничество — когда нет.
- Игнорирование профилей срочности: CoD в форме дедлайна (регуляторные даты) ломает допущение о стабильном темпе; планируйте их по достижимости даты, а остальное — по 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.