🎩 Как определить сроки разработки проекта и не порвать бюджет
Твоя команда работает медленно... Или вообще не работает.
Планируете запустить новую фичу за месяц... а еле втискиваетесь в месяц.
Всё просто. Вы не умеете играть в покер. Покер? Что... Да.
Planning Poker — это игра из арсенала Agile-методологий, но для многих она сложна в понимании и усвоении, поэтому рассказываю на пальцах её упрощенную методику, которую можно внедрить уже сейчас.
Обещаю не выносить мозг.
Для того, чтобы понимать, как быстро команда может разработать проект (это может быть разработка интернет-магазина, новой фичи, маркетинговой компании — да чего угодно), тебе нужно знать: производительность команды за неделю и трудоёмкость каждой задачи.
Проблема больших проектов как раз и состоит в том, что мы хотим оценить а сколько времени у нас уйдет на то чтобы сделать что-то, не зная всего объема и не зная, как быстро может двигаться команда по задачам с этим текущим проектом. Многие забывают — команда это живой организм. Одна и та же команда на разных проектах, и в разные недели может выдавать разную производительность, которая зависит от владельца продукта, от текущей загруженности задачами, от сложности восприятия и опыта самой команды в данных задачах.
Ведь как оно бывает: условный программист Иван уверен, что задачи перед ним стоят простые, он их делал уже много раз. Но вот он влезает в код текущего проекта, и понимает что там прогулялись черти, и перелопачивать написанный чужими ручками код займёт в несколько больше времени. Именно для этого, для точного оценивания сроков разработки и бюджета на проект и используется упрощенная методика Planning Poker.
Ну что, сыграем? ♠️
1. Отбираем список задач, которые команда может (теоретически) закрыть за неделю;
2. Оцениваем каждую задачу в часах, применяя различные веса. В идеале использовать последовательность чисел Фибоначчи (где каждое число равно сумме двух предидущих чисел). Мы используем числа 0,5; 1; 2; 3; 5; 8 и 13. Дальнейшую последовательность брать не стоит, так как чем сложнее задача в оценке, тем проще ошибиться. Таким образом, если задача больше чем 13, её стоит разбить на несколько мелких.
3. Выполняем задачи из списка по уровню их приоритетности, от большего к меньшему.
4. По окончанию недели складываем цифры (они же часы) выполненных задач. Для удобства расчётов примем цифру в 50.
5. Оцениваем все остальные задачи, отталкиваясь от сложности уже выполненных задач. Итого у нас получается условные 300 единиц.
6. Делим оценку всех задач (300) на производительность команды в неделю (50). 300/50 = 6 недель.
Это очень упрощенная методика Planning Poker, полная его вариация намного сложнее и интереснее. В полной вариации вместо часов используются Story Points (которая и вовсе не часы, а "очки истории", а также оценивается производительность команды не за 1 итерацию (1 неделя), а за несколько (среднее между несколькими итерациями).
Команда в первую неделю может покрыть задачи на 50 часов, а во вторую и последующие — на 70 и более, либо наоборот — снизить показатели. Но это уже зависит от управляющего проектом и правильность подбора команды... И это уже совсем другая история.