Что такое Weighted Shortest Job First?
Это метод приоритизации задач. Суть в том, чтобы вычислить по формуле, какие задачи дороже и проще.
Как работает метод WSJF?
WSJF считают по формуле: Cost of Delay / Job size. Cost of Delay состоит из: бизнес ценности, временной критичности, фактора риска и сложности работы. Удобнее делать расчеты в таблицах, где каждая колонка — одна задача.
Зачем в методе Weighted Shortest Job First последовательность Фибоначчи?
Последовательность Фибоначчи показывает диапазон неопределенности оценок по мере увеличения их размера. Чтобы рассчитать показатели Cost of Delay, команда оценивает каждую задачу относительно других по трем компонентам CoD и размеру работы. Единица — наименьший элемент. Относительно него оценивают по Фибоначчи все остальные.
Weighted Shortest Job First WSJF
Weighted Shortest Job First (сокращенно WSJF) — это метод приоритизации задач: делать то, что быстрее и дороже.
Представьте, что вы работаете в команде разработчиков и вам надо сделать 10 задач разной сложности и величины. Product Owner говорит, что все задачи важны и должны быть готовы как можно скорее. Команда в ужасе хватается сразу за все, ничего не успевает и теряет мотивацию. Вот в такой ситуации на помощь приходит фреймворк Weighted Shortest Job First.
Что такое Weighted Shortest Job First
Возьмем еще один пример. Вы — президент небольшой IT–компании. У вас больше идей, чем времени, людей и денег. Сделать хочется все и сразу, но не получается. Тогда перед вами стоит сложная задача: выбрать жизненно важные идеи для финансирования. Если их будет слишком много больше, ваша команда потеряет фокус и не справится.
Метод Weighted Shortest Job First помогает вам расставить приоритеты по двум критериям:
Размер проекта — лучше меньше
Стоимость проекта — выше — лучше.
Как работает Weighted Shortest Job First
WSJF — это система оценки задач по формуле: Cost of Delay / Job size.
Cost of Delay считает деньги, которые бизнес потеряет, если задача не будет выполнена вовремя. Например, нужно разработать функционал продукта стоимостью $100 000 в месяц. Если разработать получится не за один месяц, а за три, то Cost of Delay составит $300 000. Идеальный порядок в Cost of Delay — выполнять более ценные и короткие работы первыми.
Cost of Delay состоит из: бизнес ценности, временной критичности, фактора риска и сложности работы. Эти показатели оценивает клиент.
Бизнес ценность — это ценность для клиента, сколько пользы вы ему принесете выполненной задачей, сколько денег потеряет в случае задержки.
Временная критичность — как срочно нужно сделать эту задачу. Готов ли клиент ждать.
Фактор риска или возможности — чем грозит бизнесу невыполнение задачи или задержка. Какие возможности перед ним открывает выполнение работы в срок, есть ли дополнительная польза.
Сложность работы — как сложно выполнить задачу с точки зрения команды разработчиков.
Job size — это продолжительность работы над задачей. Показатель оценивает команда. На старте ее сложно рассчитать точно, потому что скорость зависит от многих факторов. Поэтому в Job size аналоговую оценку: в три раза больше чем похожий объем или в 2 раза меньше, чем другой.
Как считать WSJF
Переходим к самой сложной части расчетов: нужно оценить все показатели из формулы WSJF. Для этого используют последовательность Фибоначчи, потому что она показывает диапазон неопределенности оценок по мере увеличения их размера.
Последовательность Фибоначчи – это прогрессия из целых чисел, которые следуют друг за другом с определенной закономерностью. Каждое следующее число равно сумме двух предыдущих. Числа Фибоначчи, например, используют в астрономии, чтобы определять новые планеты.
Чтобы рассчитать показатели Cost of Delay, команда оценивает каждую задачу относительно других по трем компонентам CoD и размеру работы. Единица — наименьший элемент. Относительно него оценивают по Фибоначчи все остальные.
Затем все оценки по каждой задаче складываем и делим на размер работ, как в формуле WSJF. Мы получим список задач с приоритетами. Первой будет самая легкая в реализации и самая ценная для бизнеса задача.
Пример расчета Weighted Shortest Job First
Разберемся с расчетами на примере интернет–магазина. Нужно реализовать три задачи:
Письмо покупателю, после получения заказа.
Автоматический дозвон до клиента, когда он оформил заказ
Автоматическая печать наклеек на упаковочные пакеты.
Делаем общую таблицу с задачами и показателями Cost of Delay и Job size.
Таблица и расчеты из блога Аделя Шигабутдинова.
Правила проставления оценок в Weighted Shortest Job First
Заполнять таблицу начинаем с самой простой задачи. Ей ставим единицу.
Проставляем оценки в одной колонке и переходим к следующей.
Остальные задачи оцениваем относительно первой по последовательности Фибоначчи. Как минимум одна единица должна встречаться в каждой колонке таблицы.
Задача с самой большой оценкой по WSJF получает высокий приоритет: ее надо делать первой.
Все посчитал и заполнил таблицу Адель Шигабутдинов.
Почему вы должны рассмотреть WSJF
Если мы посмотрим на цифры в Weighted Shortest Job First, то увидим, что можем заработать гораздо больше денег, выполняя проекты в определенном порядке. И мы можем увидеть, сколько примерно денег теряет бизнес, если расставит приоритеты иначе.
Чего опасаться в Weighted Shortest Job First
Расстановка приоритетов WSJF делает одно большое допущение, которое стоит учитывать. Особенно в компаниях по разработке оборудования.
WSJF предполагает, что критические ресурсы в этих проектах одинаковы. И все они заняты в каждом проекте в течение всего срока реализации. Но в проектах по разработке оборудования критические ресурсы часто меняются в ходе проекта.
Метод WSJF не совершенен. Например, у компании есть потенциал для выполнения четырех различных работ. Каждая из них займет один год.
Первые три могут быть выполнены тремя людьми каждая и приносить $300 000 дохода в год.
Для четвертой — требуются все девять человек, и она приносит $700 000.
Подставьте один год в формулу WSJF и отсортируйте, и вы будете финансировать ту работу, которая приносит $700 000.
Только, конечно, вы этого не сделаете. Вы профинансируете первые три проекта, потому что они короче в человеко–годах.
Не планируйте, что WSJF спасет вас. Но обязательно поэкспериментируйте с ним, вместе с другими методами приоритизации и оптимизации процессов, работой в кросс–функциональных командах.