Оценка срока и трудозатрат на реализацию задач с помощью Монте-Карло

Существует много методов оценки задач с точки зрения трудозатрат:

  • Scrum Poker

  • T-Shirt Sizing

  • Метод аналогий

  • «Три амиго»

  • и т.д.

Сегодня я подробно расскажу, почему в нашей команде ни один из них не используется и как мы пришли к точности планирования сроков и трудозатрат 80-90%.

Предпосылки

Оценка срока и трудозатрат на реализацию задач с помощью Монте-Карло - 1

Мы работаем в рамках 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, хотя можно было бы написать подходящую софтину.

  • Собираем данные по количеству закрытых задач (без учёта дефектов и консультаций) за каждую неделю.

Оценка срока и трудозатрат на реализацию задач с помощью Монте-Карло - 2
  • Вводим данные:
    — Устанавливаем период (в моем случае — с 1.09 по 30.11).
    — Устанавливаем вероятность на уровне 85%.
    — Учитываем риски для каждого месяца (отпуска, болезни, праздники и т.д).

  1. Данные по задачам:
    Для точного прогноза нужно указать минимальное и максимальное количество задач в каждом эпике. Количество задач прогнозируется на основе user story из описания заказчика.

Оценка срока и трудозатрат на реализацию задач с помощью Монте-Карло - 3

Практическое применение метода для прогноза трудозатрат

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

Оценка срока и трудозатрат на реализацию задач с помощью Монте-Карло - 4

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

Результат

Использование метода Монте-Карло сократило время на обслуживание процесса (встречи по оценке задач) до 40 человеко-часов в месяц. Это время можно направить на увеличение количества фич или технические задачи, например, на расширение покрытия продукта автотестами.

Качество прогноза и планирования не пострадало, команда положительно восприняла это изменение.

Автор: Adwik

Источник

Оставить комментарий