Оценка срока и трудозатрат на реализацию задач с помощью Монте-Карло
Существует много методов оценки задач с точки зрения трудозатрат:
-
Scrum Poker
-
T-Shirt Sizing
-
Метод аналогий
-
«Три амиго»
-
и т.д.
Сегодня я подробно расскажу, почему в нашей команде ни один из них не используется и как мы пришли к точности планирования сроков и трудозатрат 80-90%.
Предпосылки

Мы работаем в рамках PI (Program Increment), где спринт длится 3 месяца. В отличие от стандартных Agile-спринтов, за PI мы предоставляем заказчику инкрементальную ценность (Epic). Перед началом инкремента мы планируем обязательства, учитывая наши ресурсы. Результат такого планирования — обязательства по реализации фич в зависимости от приоритета эпика.
В нашей команде 14 человек: бэкенд- и фронтенд-разработчики, QA, аналитики и Product Lead. Все уровня senior или middle+. Команда немаленькая, и, как следствие, любая часовая встреча добавляет четырнадцать часов в трудозатраты (что довольно дорого). Поскольку мы работаем в рамках PI, нам необходимо оценивать задачи с точки зрения трудозатрат и сроков реализации на три месяца вперёд.
Вторая предпосылка — стабильный Lead Time по задачам в эпике. Уже больше года дельта медианного LT не превышает 10%, а декомпозиция задач равномерная. Таким образом, у нас есть достаточный объём статистических данных для прогнозирования.
И главное — высокий уровень взаимного доверия в команде. Команда доверяет мне как лиду, а я доверяю команде и уверен в её стабильной работе.
Гипотеза
Применение методологии оценки задач без активного вовлечения команды позволит сократить время, затрачиваемое на обслуживание процесса, без потери точности прогнозирования трудозатрат на реализацию задач.
Ближе к сути. Что есть Монте-Карло?!
Метод Монте-Карло — это способ решения сложных задач с использованием случайных чисел.
Название метода происходит от знаменитого казино в Монте-Карло (Монако), так как он основан на принципах случайности и вероятности. Основные этапы применения метода Монте-Карло включают:
1. Определение задачи: Формулируются ключевые параметры и критерии, которые необходимо оценить.
2. Моделирование: Создается математическая модель системы или процесса, учитывающая все значимые факторы.
3. Генерация случайных выборок: Для ключевых переменных, влияющих на результат, генерируются случайные значения.
4. Расчёт результатов: Для каждой выборки вычисляются результаты, после чего производится их анализ.
5. Статистический анализ: Полученные данные обрабатываются с помощью статистических методов для определения окончательных оценок и интервалов доверия.
В общем, метод Монте-Карло помогает делать прогнозы и принимать решения в условиях неопределенности, используя случайность как основной инструмент.
Преимущества метода Монте-Карло по сравнению с другими методами оценки
1. Статистическая точность. Метод Монте-Карло использует статистические модели для оценки времени выполнения задач, что позволяет получать более точные прогнозы, основанные на исторических данных.
2. Учет неопределённости. Метод позволяет учитывать различные сценарии и неопределенности в проекте, что помогает лучше оценить риски и потенциальные задержки.
3. Автоматизация. Процесс моделирования может быть автоматизирован, что сокращает время на оценку и позволяет быстро получать результаты.
4. Анализ чувствительности. Метод позволяет анализировать, как изменения в входных данных влияют на результаты, что помогает выявить ключевые факторы риска.
5. Гибкость в оценках. Монте-Карло может использоваться для оценки не только времени выполнения задач, но и других метрик, таких как стоимость или требуемые ресурсы.
6. Поддержка принятия решений. Результаты могут быть представлены в виде распределений вероятностей, что помогает команде принимать более обоснованные решения.
7. Масштабируемость. Метод хорошо подходит для крупных проектов с множеством взаимосвязанных задач, где традиционные методы оценки могут оказаться менее эффективными.
В то же время стоит отметить, что другие методы также имеют свои преимущества.
Преимущества Scrum Poker
1. Оценка неопределённых задач: Scrum Poker лучше подходит для задач с высокой степенью неопределённости. Команда коллективно обсуждает и оценивает их сложность, что повышает точность оценки.
2. Укрепление командной работы: Метод стимулирует обсуждение и взаимодействие в команде, помогая учитывать разные точки зрения и лучше понимать задачи.
3. Подходит для небольших наборов задач: Scrum Poker эффективен, когда задач немного. В отличие от метода Монте-Карло, ему не требуется большой объём данных для оценки.
4. Улучшение командной динамики: Scrum Poker повышает вовлечённость и ответственность каждого участника, что положительно влияет на мотивацию и качество работы.
Преимущества метода «Три амиго»
1. Гибкость при неясных требованиях: Если требования к проекту неполные или часто меняются, метод «Три амиго» помогает команде быстро адаптироваться и уточнять детали через совместное обсуждение.
2. Улучшение взаимодействия: Метод усиливает коммуникацию между участниками с разными ролями, что способствует лучшему пониманию задач.
3. Прояснение сложных правил: Когда нужно разобрать сложные бизнес-правила или сценарии, метод позволяет команде совместно работать над их пониманием и реализацией.
4. Для простых задач: В случаях с несложными или стандартными задачами, где не нужен глубокий анализ, метод «Три амиго» быстрее и эффективнее.
5. Ограниченные ресурсы: Если у команды нет инструментов для анализа методом Монте-Карло, метод «Три амиго» становится доступной альтернативной.
Преимущества метода аналогий
1. Мало данных: Если данных для статистического анализа недостаточно, метод аналогий позволяет использовать опыт прошлых проектов или задач для оценки.
2. Похожие задачи: Когда новые задачи похожи на уже выполненные, метод аналогий даёт более точные оценки, основанные на реальном опыте.
3. Простота: Для несложных или стандартных задач метод аналогий быстрее и проще, чем сложные расчёты, которые требуются для метода Монте-Карло.
4. Опыт экспертов: Если в команде есть специалисты с глубокими знаниями, их опыт можно использовать для более точной оценки через метод аналогий.
5. Неопределённость: В условиях высокой неопределённости, когда данные ненадёжны, метод аналогий предлагает более интуитивный подход.
Преимущества метода T-shirt sizing (оценка по размерам футболок)
1. Простота: Не требует точных численных оценок, что упрощает процесс.
2. Гибкость: Подходит для ранних этапов планирования, когда детали задачи еще не ясны.
3.Командное вовлечение: Как и в Scrum Poker, вовлекает команду в процесс оценки.
4.Снижение стресса: Отсутствие точных чисел уменьшает давление на команду.
Практическое применение метода для прогноза сроков
Подготовительные работы
Как уже упоминалось, метод Монте-Карло требует данных для статистического анализа.
Пока мы обходимся Excel, хотя можно было бы написать подходящую софтину.
-
Собираем данные по количеству закрытых задач (без учёта дефектов и консультаций) за каждую неделю.

-
Вводим данные:
— Устанавливаем период (в моем случае — с 1.09 по 30.11).
— Устанавливаем вероятность на уровне 85%.
— Учитываем риски для каждого месяца (отпуска, болезни, праздники и т.д).
-
Данные по задачам:
Для точного прогноза нужно указать минимальное и максимальное количество задач в каждом эпике. Количество задач прогнозируется на основе user story из описания заказчика.

Практическое применение метода для прогноза трудозатрат
Если наложить на полученные данные прогнозное среднее значение трудозатрат на одну задачу, получим следующие прогнозы:

Добавив к этим расчётам метод аналогий (сравнивая самый лёгкий и самый сложный эпики), мы получим три набора данных. С помощью экспертной оценки я выбираю наиболее подходящие прогнозные значения.
Результат
Использование метода Монте-Карло сократило время на обслуживание процесса (встречи по оценке задач) до 40 человеко-часов в месяц. Это время можно направить на увеличение количества фич или технические задачи, например, на расширение покрытия продукта автотестами.
Качество прогноза и планирования не пострадало, команда положительно восприняла это изменение.
Автор: Adwik