WSJF по-русски

Ниже размещен 1-1 перевод части статьи о WSJF от SAFe scaledagileframework.com/wsjf/

Взвешенная самая короткая работа вперед

Это способ приоритизации, упорядочивания задач (функций, возможностей и эпиков) для получения максимальной экономической выгоды. В SAFe

WSJF = стоимость задержки (Cost of Delay, CoD), разделенная на размер задачи.

В потоковой системе постоянное обновление приоритетов обеспечивает наилучшие экономические результаты. В таком контексте наилучший результат дает именно последовательность работ, а не теоретические, индивидуальные RoI задач. Поэтому SAFe предлагает применять WSJF для определения приоритетности невыполненных работ, вычисляя относительную стоимость задержки (CoD) и размер задачи (взамен продолжительности).

WSJF = Стоимость задержки / Длительность-размер работы

Приоритеты невыполненных работ постоянно обновляются в зависимости от:

  1. относительной ценности для пользователей и бизнеса,
  2. временных факторов,
  3. снижения рисков и использования возможностей,
  4. относительного размера задач.

CoD — это деньги, которые будут потеряны из-за задержки или невыполнения работы в течение определенного периода времени. Например, если предполагаемая функция будет стоить 100 000 долларов в месяц, а задержка составит три месяца, общая сумма CoD составит 300 000 долларов. Работа, которая может принести максимальную пользу (или CoD) в кратчайшие сроки, обеспечивает лучшую экономическую отдачу.

Упорядочивание списка задач

Используйте относительные оценки

Как и в случае с оценкой истории, используется модифицированная последовательность Фибоначчи, поскольку она лучше отражает уровень неопределенности по мере увеличения размера. Команды сравнивают задачи относительно друг друга, [в относительных очках/пунктах, как user story], используя те же числа, например, модифицированные числа Фибоначчи, как в «покере планирования».

Расчет числителя: CoD, стоимость задержки

В SAFe «работы» — это функции, возможности и эпики, которые находятся в соответствующих бэклогах. Иногда определить общую стоимость задержки для задач, которые ранее никогда не выполнялись, бывает трудно. Поэтому SAFe использует «заменитель» CoD. Три основных компонента вносят вклад в CoD:

  1. Польза для бизнеса:
    • Какова относительная ценность для клиента или бизнеса?
    • Наши пользователи предпочитают А больше, чем Б?
    • Как это повлияет на наши доходы?
    • Какие штрафы и другие негативные последствия возможны при задержке?
  2. Критичность по времени:
    • Как со временем уменьшается ценность для пользователей / бизнеса?
    • Есть ли фиксированный срок? Нас будут ждать или перейдут к другому решению?
    • Есть ли вехи на критическом пути, на которые влияет эта задача?
  3. Снижение рисков или использование возможностей:
    • Что еще эта задача дает нашему бизнесу?
    • Снижает ли она какой-то риск, относящийся к этой или будущей поставкам?
    • Есть ли ценность в информации, которую мы получим?
    • Откроет ли эта функция новые возможности для бизнеса?

После этого относительный CoD рассчитывается так:

Стоимость задержки = Бизнес-ценность + Критичность по времени + Риски-возможности

Расчет знаменателя: размер работы

Особенно на ранней стадии трудно сказать, кто будет выполнять эту работу, поэтому трудно оценить длительность. К счастью, размер работы — хороший «заменитель» продолжительности. Он тоже подойдет для сравнения задач в очереди. Если я единственный, кто косит свой газон, а передний двор в три раза больше заднего двора, передний двор займет в три раза больше времени. [Как и для User story, используйте относительные оценки.]

Расчет WSJF

Затем разделите числитель CoD на знаменатель размер работы.

WSJF = Стоимость задержки / Длительность-размер работы

Сравнение задач

[Для приоритизации бэклога можно использовать таблицу.]

Для оценки числителя и знаменателя используйте значения: 1, 2, 3, 5, 8, 13, 20.
Заметка: Начните с одного столбца, выберите наименьшую работу, установите значение «1», перейдите ко 2-му и т.д.
В каждом столбце должна быть хотя бы одна «1».
Наибольшее значение WSJF — наивысший приоритет.

Команда оценивает каждую функцию по отношению к другим, последовательно для каждого из трех компонентов CoD, а затем и размер задачи:

  1. Начните со столбца №1, выберите самую маленькую по этому параметру функцию, установите для нее значение «1», а затем установите значения остальных строк относительно этого.
  2. Столбец 2 — аналогичным образом заполните его по всем строкам.
  3. Столбец 3 — аналогично.
  4. Столбец 5 с размером задачи — аналогично.
  5. Рассчитайте CoD = просуммируйте столбцы 1+2+3.
  6. Затем разделите CoD на размер задачи.

Задача с наибольшим значением WSJF — самая важная и первостепенная.

Преимущества подхода

  1. Подход WSJF поощряет разделение больших задач на несколько меньших, потому что иначе они не смогут конкурировать с другими меньшими заданиями — важные большие работы могут остаться никогда не выполненными. Это Agile в действии. Реализация инкрементальная, и если выполняемая задача не соответствует соседним в списке, то будет выбрана другая задача.
  2. Еще одно преимущество модели WSJF в SAFe заключается в том, что не требуется определять абсолютную ценность слагаемых CoD (в деньгах). Вместо этого команды оценивают компоненты CoD каждой задачи в сравнении с другими задачами того же бэклога.
  3. Наконец, поскольку обновленные оценки невыполненных задач включают только оставшуюся работу, частое изменение приоритетов означает, что система автоматически игнорирует невозвратные затраты (sunk cost) – фундаментальный принцип бережливой экономики.
Серым — Cost of Delay

Дополнительная информация

В знаменателе могут быть:

  1. Продолжительность/длительность работы/эпика.
  2. Размер работы/эпика.
  3. Стоимость работы/эпика.

2. Использование размера вместо продолжительности работы

Размер работы НЕ всегда является хорошим заменителем для длительности. Давайте рассмотрим два исключения:

  • если наличие специальных навыков означает, что более крупная работа с более высокой ценностью может быть выполнена быстрее, тогда стоит поднять её выше, поскольку она обеспечивает бОльшую ценность в более короткий период. (Если 3 человека будут косить мой большой газон перед домом, а я работаю на маленьком заднем дворе, эти работы будут иметь примерно одинаковую продолжительность, но не одинаковую ценность.)
  • При нехватке ресурсов или зависимостях от других работ небольшая задача может занять больше времени, чем большая задача.

В этих случаях вы можете приоритизировать их не в точном соответствии с рассчитанными WSJF.

Но в большинстве ситуаций достаточно и быстрой относительной оценки WSJF. В потоковой системе небольшие ошибки в выборе не так критичны, поскольку следующая важная задача довольно скоро поднимется на вершину бэклога.

3. Стоимость работы вместо продолжительности

Когда известна предполагаемая стоимость работы, она может оказаться более хорошим знаменателем для WSJF, чем размер работы. В этом случае для упрощения вычислений произведите нормализацию стоимости.

  1. Эпику с наименьшей стоимостью задайте значение «1».
  2. Затем разделите стоимость других эпиков на наименьшую стоимость (например, 1,5 / 0,5 = 3,0), как показано на рисунке ниже.
Нормализация стоимости эпиков для знаменателя WSJF

Если у вас есть хорошие денежные оценки CoD, то используйте их в качестве числителя для всех эпиков. Аналогичным образом, если у вас есть хорошие оценки продолжительности, то используйте их вместо прокси/заменителей.

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *