Тема 65 из 91· Разработка ПО и цифровая доставка
WSJF и CD3
CD3 (стоимость задержки, делённая на длительность) и WSJF (взвешенное первым — кратчайшее задание) — это правила приоритизации, которые планируют работу по плотности ценности: сколько стоимости задержки устраняется на единицу потреблённой дефицитной мощности. При общей фиксированной мощности порядок от наивысшего CD3 математически оптимален для минимизации общей стоимости задержки.
Почему это важно
Каждое отставание — это проблема рационирования: много достойных пунктов, один конвейер. Экономика здравоохранения решила ту же проблему для бюджетов здравоохранения таблицами лиг экономической эффективности: ранжируйте вмешательства по приобретённому здоровью на фунт, финансируйте вниз по списку, пока бюджет не исчерпан. CD3 — это идентичная логика для мощности поставки: выгода на единицу ограниченного ресурса, финансируемая в порядке ранга. Правильная последовательность — это бесплатные деньги: та же работа, та же мощность, меньше общей стоимости задержки.
Расчёт
CD3 = стоимость задержки (£/неделя) / длительность (недели) — реальные единицы (Black Swan Farming)
WSJF = (ценность для пользователя/бизнеса + временная критичность + снижение риска/
раскрытие возможности) / размер задания — прокси относительной шкалы SAFe,
модифицированные баллы Фибоначчи
CD3 с подлинной валютой (стоимость задержки) строго сильнее, чем безразмерные баллы WSJF — WSJF относится к CD3 так же, как многокритериальная оценка относится к полному анализу затраты-полезность: применим, когда монетизация непрактична, поддаётся манипуляции, когда баллы не имеют якоря.
Разобранный пример
Три функции, одна команда:
Функция СЗ (£/нед) Длительность CD3
A 30 000 10 нед 3000
B 12 000 2 нед 6000
C 5000 1 нед 5000
Порядок 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 дня команды узкого места, дешевле, чем кажется (см. оптимизацию последующих ресурсов); (2) больницы неявно применяют то же правило, когда упорядочивают списки операционной по взвешенной по срочности пропускной способности — категории клинической приоритизации — это взвешенный по тяжести CD3 (см. дефицит QALY и модификаторы тяжести).
Подводные камни
- Театр баллов WSJF: безразмерные споры по Фибоначчи сходятся к тому, кто громче аргументирует; заякорите хотя бы верхние пункты отставания в реальной СЗ.
- Манипуляция длительностью: разбиение пунктов для раздувания ранга CD3 — нормально, когда разбиения доставляют ценность независимо, мошенничество — когда нет.
- Игнорирование профилей срочности: СЗ в форме дедлайна (регуляторные даты) ломает предположение о постоянной ставке; планируйте их по осуществимости даты, затем CD3 для остального.
- Хаос переранжирования: CD3 предназначен для решений о последовательности в момент обязательства, а не для ежедневной перетасовки работы в процессе (см. метрики потока о НРВ).
Источники
- 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.