Гибкие методологии и 10 лучших техник оценки трудоемкости
Как помочь команде планировать спринты и устанавливать реальные сроки, грамотно распределять усилия и отслеживать собственный прогресс? В статье поговорим о том, что такое гибкие оценки и рассмотрим лучшие техники оценки трудоемкости в Agile: попробуйте покер планирования, размер футболки, голосование по точкам и еще 7 других интересных техник.
Вольный перевод статьи Agile Estimation and the 10 Best Estimation Techniques to Consider, опубликованной на сайте doasync.com
Оценка трудоемкости — задача непростая, но имеет решающее значение. Отсутствие точной оценки стоимости и сроков реализации проекта может привести к значительным задержкам, неэффективности и другим проблемам. Важно: оценка не должна проводиться только одним человеком, это ответственность всей команды. Однако традиционные подходы к оценке могут быть очень утомительными, пожирающими у команды много времени, а следовательно, неэффективными в текущей конкурентной среде. Именно здесь на сцену выходят гибкие подходы к оценке.
Что такое гибкие оценки?
В процессе планирования проекта скрам-команда отвечает за создание продукта и бэклог задач. Бэклог, по сути своей, это приоритезированный список фич, которые представляют собой желаемый функционал продукта. Выбор перечня задач из бэклога на определенный временной период (что определяет размер и скорость команды, способы реализации и достижения результатов), известно как ритуал — планирование спринта.
Гибкая оценка помогает сделать планирование спринта более эффективным и продуктивным за счет анализа времени и усилий, необходимых для выполнения приоритетных задач из бэклога. Это обеспечивает более скоординированное и эффективное управление временем и ресурсами. Более того, это позволяет учитывать любые неудачи или изменения в требованиях, которые могут произойти в будущем. Отсутствие гибкой оценки может привести к серьезным последствиям с управлением временем, усилиями, финансами и ресурсами.
Зачем оценивать в гибких методологиях?
Есть разные плюсы оценивания в гибких методологиях. Для продуктовых и инженерных разработчиков оценка срока завершения продукта — одна из самых сложных и стрессовых задач. Любое решение может повлиять не только на завершение работы, но и на всю команду. Очень важно проводить гибкие оценки с самого начала, чтобы обеспечить получение результата в нужные сроки.
Вот несколько преимуществ техник гибких оценок:
Лучшее принятие решений
Гибкая оценка дает представление о графике предлагаемого проекта, что влияет на критерии принятия решений. Кроме того, влияет на создание более функционального бэклога, что улучшает планирование спринта. Понимание трудоемкости пользовательских историй помогает делать выверенные решения для проекта.
Лучшее управление рисками
Понимание трудоемкости задач помогает более точно понять бюджет и стоимость проекта. Используя техники гибкой оценки, команда аккуратнее оценивает и следует бюджету проекта. Знание цифр позволяет снизить негативный эффект непредсказуемых и неудачных событий.
Лучшая координация
В скраме разработчики используют пользовательские истории, чтобы оценить усилия, необходимые для выполнения задачи. Пользовательские истории содержат исчерпывающую информацию.
В крупных проектах есть множество пользовательских историй с различными оценками и сроками выполнения, что в совокупности дает понимание усилий, необходимых для завершения проекта. Иногда пользовательские истории связаны и зависимы. В таких случаях приоритезация помогает обеспечить одновременную разработку и, как следствие, получить улучшенное взаимодействие внутри команды для эффективного достижения требуемых дат.
10 лучших техник гибкой оценки
Есть несколько техник гибкой оценки. Руководство должно проанализировать, какая именно техника отвечает задачам проекта, ведь нет одной универсальной техники «на все времена». Ниже вы найдете описание 10 лучших техник.
1. Планировочный покер, он же покер планирования (Planning Poker)
Хотя покеру планирования уже более 20 лет, это по-прежнему самый широко используемый подход. Чтобы начать применять эту технику, каждый член команды выбирает задачу из бэклога. После короткого обсуждения участники «про себя» оценивают задачу, используя специальные карты (с закодированными числом). Затем проводится процедура «голосования», на которой каждый «раскрывает свои карты». Большинство побеждает: берется оценка, которую выбрало большинство. Если же все оценки слишком разнятся, чтобы определить однозначно, рекомендуется провести обсуждение для выработки консенсуса и провести повторный раунд.
Хотя покер планирования вовлекает геймификацией и поддерживает коллаборацию команды, проводить его нужно только небольшой группой людей во избежании потерь времени.
Асинхронный покер планирования (Async Planning Poker)
Планировочный покер не идеален. Он требует значительного времени, плюс не всегда легко собрать всю команду на одной сессии. И тут на помощь спешит Асинхронный планировочный покер.
В данном случае не обязательно присутствовать лично, всё делаем удаленно. Каждому члену команды отправляется ссылка на описание, информация об оцениваемом элементе бэклога и перечне пользовательских сценариев. И здесь мы видим основное отличие Асинхронного планировочного покера от традиционного. Как только член команды получает ссылку, он/она может рассмотреть и предоставить свою оценку в удобное время и в соответствии со своим графиком.
Более того, т.к. коммуникация проходит письменно, скорее всего, дополнения и улучшения будут добавлены в описание задачи. Именно письменная форма помогает улучшить документацию проекта, тогда как традиционный планировочный покер проходит устно и много информации теряется и забывается.
Стоит добавить, что Асинхронный планировочный покер ценит квинтэссенцию времени. Традиционный планировочный покер может вызвать задержки в проекте из-за долгих оценочных сессий. Асинхронный подход лишен этого недостатка: он экономит время команды, а руководителю не нужно ждать «немедленного» консенсуса, что позволяет улучшить качество оценки.
2. Размеры футболок (T-Shirt Size Estimation)
Техника оценки «Размеры футболок» — увлекательная и неформальная техника оценки относительно больших бэклогов. За основу берется размерная сетка футболок и применяется к элементам бэклога, которые становятся XS, S, M, L или XL. Для комплексного подхода у каждой пользовательской истории может быть свой размер футболки. Члены команды могут собраться и обсудить «размеры» для достижения консенсуса по каждому элементу бэклога. Несомненный плюс данного подхода — стимуляция критического мышления через отказ от зацикливания на стандартных единицах измерения. Это позволяет команде мыслить нестандартно, объективно анализировать и сравнивать задачи для более точной оценки.
3. Точечное голосование (Dot Voting)
Точечное голосование — достаточно простой подход и лучше всего работает для небольшого бэклога. В этой технике все задачи бэклога с описанием располагаются в общем пространстве, где все члены команды могут их прочесть, проанализировать и проголосовать. Голосование осуществляется с помощью стикеров или просто простановкой точек.
Чем больше «точек» получила задача, тем она сложнее и требует больше времени. Тогда как меньшее количество «точек» означает, что задача потребует меньше времени для решения.
Процесс точечного голосования прост и эффективен для оценки небольшого по количеству пользовательских историй бэклога.
4. Сопоставление сходства (Affinity Mapping)
Процесс сопоставления сходства лучше всего подходит для небольших команд с маленьким бэклогом, в котором нужно найти похожие элементы.
Эта техника включает 5 шагов:
- Относительное определение размеров (про себя),
- Редактирование стены,
- Распределение задач в правильном порядке,
- Мнение владельца продукта,
- Внесение информации в инструмент управления бэклогом проекта.
Лучший способ воплощения техники в жизнь — визуализация (компоновка элементов бэклога от мелких к большим по цифрам оценки).
5. Система оценка «ведерками» (Bucket System Estimation)
Если ваша команда — новичок в мире гибких методологий, и на нее свалился огромных размеров бэклог, система оценки «ведерками» — это простая для внедрения и эффективная техника, которая к тому же дает точные оценки.
Суть техники: определяются оценочные «ведерки», в которые члены команды по своему усмотрению «забрасывают» элементы бэклога. Это позволяет получить точные и честные оценки, а главное сделать это быстро.
6. Метод упорядочивания (Ordering Method)
Метод упорядочивания хорошо работает для маленьких команд с огромным бэклогом. Это эффективная техника, в которой учитывается мнение каждого.
Суть техники: члены команды смотрят на относительный размер элементов бэклога. Задачи случайным образом расположены в порядке от самой маленькой до самой большой. В процессе голосования каждый член команды за один раунд может выполнить одно перемещение одной задачи либо вверх, либо вниз по списку. Голосование завершается, когда закончен очередной раунд и все довольны результатом.
7. Аналогии (Analogy)
Техника аналогий полезна для опытной в гибких оценках команды. Основная причина — при оценке по аналогии нужен опыт оценки различных проектов.
Суть техники: сравнить размеры пользовательских историй и определить оценку. Например, если команда уже определила, что пользовательская история А займет 2 недели на имплементацию, то пользовательская история Б, котороя в 3 раза больше, получит большую оценку.
8. Метод трех точек (Three-Point Method)
Метод трех точек классифицирует пользовательские истории на 3 категории: наилучший сценарий, наихудший сценарий и реалистичный сценарий. Для оценки используется фреймворк.
Фреймворк состоит из Оптимистичного значения (О), сколько времени потребуется на реализацию, если все пойдет по плану. Далее идет Пессимистичное значение (П), которое показывает, сколько времени потребуется в самом худшем случае, когда все самое плохое, что может случиться, произойдет. И самое вероятное значение (С), которое показывает, какое самое реалистичное время потребуется на выполнение задачи.
9. Большой/неопределенный/маленький (Large/Uncertain/Small)
Техника «Большой/неопределенный/маленький» хорошо работает для небольшой команды с бэклогом сравнимых задач. Это упрощенный вариант системы оценок «ведерками», в котором используют только 3 возможных значения для элемента.
В первую очередь раскидывают самые очевидные задачи, ориентируясь на их описание. Более сложные задачи обсуждают и достигают консенсуса. Эта простая техника позволяет команде просто «разделять и властвовать» над задачами через распределение элементов бэклога на большие, неопределенные и маленькие.
10. Последовательность Фибоначчи (Fibonacci Sequence)
Последовательность Фибоначчи учитывает сумму двух предыдущих оценок для достижения более быстрого и точного консенсуса.
Тем не менее высока вероятность неточности, поскольку оценка может достичь противоречивых значений. Более того, оценка пользовательских историй не всегда может быть усреднена для получения итоговой трудоемкости.
Заключение
Существование различных техник гибких оценок является результатом разнообразия компаний и проектов. Тем не менее каждому проекту нужен процесс гибкой оценки, чтобы достигать результатов и оптимизировать ресурсы в полной мере.
Сравнение вышеперечисленных десяти техник показывает, что асинхронный планировочный покер дает наилучший результат с точки зрения наиболее точных оценок, экономии ресурсов и удовлетворенности членов команды. Этот подход учитывает собственные желания команды, исключает влияние оценок людей друг на друга, что позволяет получить точную оценку и пометить все пункты «чек-листа» проекта разработки.
Почему команды так не любят изменения? Как это проявляется и почему на самом деле сопротивление — это хороший знак? В этой статье обсудим, какую роль играет сопротивление и как Agile-коуч может не бороться с ним, а использовать в интересах команды, применяя различные техники.
Что такое интервизия и действительно ли она помогает скрам-мастерам и agile-коучам, как правильно организовать такую встречу и зачем интервизия нужна самой компании. В статье я постараюсь ответить на все эти вопросы и рассказать о своем опыте, а в конце поделюсь кратким чек-листом для участников, которые хотят извлечь из интервизии максимум пользы.
Современные компании сталкиваются с необходимостью постоянных изменений — будь то адаптация к новым рыночным условиям или улучшение внутренних процессов. Как найти способ эффективно внедрять изменения, причем так, чтобы сделать это быстро и с минимальным сопротивлением от команды? Один из инструментов, который может помочь в этом, — HADI-цикл.