Приоритизация WSJF: ищем наиболее важные, но простые задачи в проектах

Продолжаем прорабатывать тему расстановки приоритетов. Разбираемся, в каком порядке приступать к задачам. Для этого рассмотрим метод WSJF.

Что за модель приоритизации WSJF

WSJF расшифровывается как Weighted Shortest Job First, что на русский переводится как «Взвешенная задача с наименьшими затратами в первую очередь».

WSJF – это количественный (измеримый) метод ранжирования элементов, задач в списке бэклога, опирающийся на такие факторы, как срочность, бизнес-ценность, риски, затраты на задержку и объём работ.

Как и в некоторых аналогичных подходах (смотри RICE, Кано), здесь попытались абстрагироваться от личных суждений, догадок и опоры на опыт управленца или сторонних экспертов. Хотя их влияние по-прежнему присутствует, оно диверсифицируется за счёт одновременного использования нескольких факторов.

Основной приоритет в рамках модели WSJF отдаётся тем задачам, которые принесут максимум пользы за короткий промежуток времени. То есть и результат будет виден как можно раньше, и функционал близок к подходу MVP (с созданием минимального жизнеспособного продукта), и нет противоречий с итеративным подходом к разработке.

Обратите внимание: WSJF позволяет влиять на показатель ROI (Return On Investment), он же «окупаемость или возврат инвестиций». Те задачи, которые больше остальных воздействуют на ROI (обеспечивают скорейший выход на прибыль), получают максимальный приоритет. В этом и заключается влияние приоритизации на метрику, указывающую на окупаемость.

История появления метода

Метод WSJF является частью фреймворка SAFe, разработанного для масштабирования Agile-подходов в крупных организациях.

Дональд Рейнертсен назвал этот подход «Бережливой разработкой продукта второго поколения» в своей книге 2008 г. (Principles of Product Development Flow: Second Generation Lean Product Development).

Аналогичные принципы можно найти в SJN (Shortest Job Next) – это алгоритм приоритизации (политика планирования) процессов, используемый в операционных системах. Короткие действия пропускаются вперёд, если они сообщают планировщику своё примерное время исполнения.

WSJF имеет непризнанный аналог – VFR (Value-Flow Rate), что в переводе на русский означает «скорость потока ценности». В отличие от WSJF, в VFR при расчёте итоговых метрик участвуют не конкретные единицы времени или денег, а абстрактные (относительные) баллы. Модель VFR была предложена в 2016 году в книге Value-Flow Rate: A better name for a great measure Дуга Кнесека.

Как рассчитывается приоритет по модели WSJF (формула и алгоритм)

Основная формула расчёта WSJF выглядит максимально просто:

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

Основные сложности возникают при расчёте первого фактора.

Стоимость задержки (Cost of Delay, CoD) – это частная производная от общей ожидаемой стоимости по времени. Концепцию её расчёта впервые описал Дональд Райнертсен. Стоимость задержки даёт понимание того, как стоимость проекта или задачи утекает (изменяется) со временем.

Формула расчёта Cost of Delay:

Стоимость задержки = Бизнес-ценность + Критичность времени (Срочность) + Фактор риска или возможностей

Бизнес-ценность (User-Business Value) – оценка, позволяющая понять, насколько задача будет полезна для бизнеса (проекта, продукта, пользователей, инвесторов и т.д.).

Критичность времени (Time Criticality) – оценка фактора срочности, которая отражает необходимую скорость реализации. Чем спешка нужнее, тем выше оценка.

Фактор риска/фактор возможностей (Risk Reduction/Opportunity Reduction) – оценка характеризует влияние рисков, если задача не будет закрыта в срок (не будет сделана вообще), или влияние возможностей, которые могут открыться при своевременной реализации.

Продолжительность работы (Job Duration) или Объём/Размер работы (Job Size) – это оценка времени, сил или финансов, которые нужны (планируются/потребуются) для реализации задачи. В классической методике WSJF вы можете считать работу в единицах времени или в любых других реальных единицах. В более современной методике VFR оценка может производиться в условных единицах – баллах, сторипоинтах и т.п.

Внимательный читатель может задаться вопросом: «Так, а как конкретно оценивать тот или иной фактор в WSJF?». И тут мы всё равно приходим к субъективным оценкам, объективность которых обеспечивается следующими подходами:

  • Бизнес-ценность, срочность и влияние рисков оцениваются по условной линейной шкале, например, от 1 до 10 или от 1 до 100, где есть предельный потолок (это самое большое влияние) и 1 – минимальное влияние фактора.
  • Вместо последовательных шкал используется шкала Фибоначчи (например, модифицированная версия из 7 элементов: 1, 2, 3, 5, 8, 13, 21) – она имеет нелинейную градацию, что потенциально увеличивает разрыв между ближайшими значениями. Чем дальше, тем разрыв больше.

Оценки проставляются командой разработки и экспертами в процессе группового обсуждения. Примерно так же, как при покер-планировании.

Предметный пример расчёта WSJF

Итак, представим, что у нас в пуле 3 задачи по проекту, которые нужно оценить.

Команда договорилась использовать модифицированную шкалу Фибоначчи. В процессе обсуждения задач были получены следующие оценки по каждому пункту:

ФичаБизнес-ценностьСрочностьФактор рискаСтоимость задержкиОбъём работы (размер)Расчёт WSJFWSJF (итоговые баллы)
Новый чат-бот (для автоматизации)5825+8+2515/53,0
Темная тема3313+3+127/23,5
Импорт из Excel138513+8+51326/132,0

Видим, что наиболее простой и выгодной будет задача с созданием тёмной темы. Её быстрее и дешевле реализовать.

Самая ценная задача с импортом из Excel получила наиболее низкий приоритет, так как она требует больше всего усилий (трудозатрат). В итоге общий баланс не в её пользу, а чат-бот оказался золотой серединой.

Плюсы и минусы использования WSJF

К преимуществам WSJF можно отнести:

  • Модель не требует большого объёма подготовительных работ, например, сбора аналитики или проведения опросов/исследований (про R&D в проектах).
  • Итоговые баллы приоритетности легко посчитать сразу по всем задачам в бэклоге (во входящем пуле).
  • WSJF легко сочетается с любыми методологиями управления.
  • В расчёте участвует сразу несколько факторов, что снижает влияние субъективной оценки.
  • Приоритет отдаётся задачам, которые отнимают меньше всего сил, соответственно, на выходе можно получить больше результатов и показать эффективность команды (в соответствии с правилом Парето: 20% усилий дают 80% результата) или нагнать сроки реализации проекта.
  • Фокус на ценности. Команда концентрирует усилия на задах, которые действительно имеют выгоду для бизнеса, и не распыляет внимание на пустяки или слишком сложные/дорогостоящие задачи.

К недостаткам WSJF можно отнести:

  • Несмотря на то, что в расчётах участвует сразу несколько факторов и имеется некая формула, итоговая оценка всё равно получается субъективной.
  • WSJF не учитывает связи между задачами (их взаимное влияние друг на друга) и привязку к срокам (к окнам времени или к тайм-боксам).
  • Ни шкала Фибоначчи, ни 100-балльная шкала не защищают от ситуаций, когда задачи получают одинаковое значение приоритетности.
  • Повысить точность базовых оценок можно только за счёт уровня экспертности специалистов, участвующих в обсуждении (оценке) WSJF.
  • Если нужна опора на факты и более твёрдые оценки, то потребуется серьёзная подготовительная работа. А это время, силы и дополнительные ресурсы.
  • Метод подойдёт не для всех ситуаций. Например, он плохо сочетается со стратегическим планированием (его нельзя назвать дальновидным).

И ещё пара моментов. Как можно заметить из наших предметных расчётов, наиболее важная и сложная задача получила наименьший приоритет из-за больших расходов на реализацию. Но именно такая задача может быть той самой «лягушкой»: несмотря на сложность миссии, её выполнение критично для реализации ключевых функций продукта (смотри подход Must, Should, Want).

А ещё WSJF не привязывается к возможностям или ограничениям ресурсов. Метод считает только ценность.

Как стоит внедрять WSJF в проектах (и стоит ли)

В первую очередь подход WSJF стоит внедрять там, где уже есть MVP-модель (продукт работает и имеет все самые важные и сложные функции, которые составляют его ядро).

Во-вторых, WSJF будет полезен в ситуациях, когда команде нужно нагнать график и показать свою работу лицом инвесторам и другим стейкхолдерам (быстро и с минимальными усилиями).

В-третьих, WSJF должна быть строго согласована с целями компании или проекта, со стратегическими планами. Нельзя просто вырвать задачи из контекста и изменить им приоритет, если, например, конкретная фича получила больше всего баллов при расчёте.

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

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

В-шестых, регулярно практикуйтесь в расчёте WSJF и обучайте персонал. Только достаточный опыт и глубокое понимание принципов обеспечит правильное внедрение подхода.

В-седьмых, регулярно пересматривайте приоритеты WSJF. Так как обстоятельства, внешние и внутренние факторы изменчивы, могут меняться и итоговые баллы в подсчёте WSJF.

Вместо выводов

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

Но такой подход может быть губителен, если у вас ещё нет минимального жизнеспособного продукта. Может оказаться, что вместо работы над наиболее сложным и важным «ядром» вам проще будет «пилить» тёмные темы интерфейса.

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

Мы со своей стороны рекомендуем вести все задачи в системе управления проектами, такой как Projecto. Это обеспечит достаточный уровень контроля и прозрачности.