Закраска фигур – игра про прогнозирование сроков и сторипоинты
Дата: 08.08.2024
Игра показывает, как использование итерационно-инкрементального подхода в совокупности с относительной оценкой дает больше прозрачности в прогнозировании сроков выполнения проекта.
Параметры
- Время: 50+ минут.
- Участники: 4-30 человек (по 4-6 человек в 1-5 командах).
- Уровень сложности: высокий.
Материалы
- Флипчарт-лист с пустыми фигурами на каждую команду.
- Маркеры.
- Флипчарт.
- Малярный скотч.
Подготовка
- Для каждой команды подготовить одинаковые флипчарт-листы с пустыми фигурками.
- Ведущий игры подготавливает на флипчарт-листе таблицу, в которой он будет фиксировать метрики всех команд.
Оценка
- Команды оценивают срок выполнения задачи: закрасить все фигурки – в минутах (абсолютная оценка), учитывая то, что принимается только исключительно качественная закраска, то есть фигуры не содержат белых пробелов (недоделанная работа) и закраска не вылазит за контуры фигур (можно объяснить, что это дефект, который команда должна как-то устранить).
- Команды оценивают все фигурки в относительных story points, используя числа Фибоначчи и считают сумму всех story points. Ведущий заносит это значение в таблицу.
Выполнение
- Длина одной итерации – 1 минута. Перед первой итерацией ведущий может дать 1 минуту на обсуждение командной стратегии по закрашиванию. Приоритеты: начинаем с самых маленьких, заканчиваем большими. Когда команды дойдут до закраски наибольших, ведущий может увеличить планирование, так чтобы команды разбили фигуры на сегменты оценили отдельно сегменты.
- Запускаем первую итерацию.
- Ведущий принимает работу. Засчитываем только идеально закрашенные фигуры, либо сегменты (только если была предварительная разбивка).
- Команда считает velocity. Частично сделанная работа переоценивается в story points в сторону уменьшения, но разница не добавляется в суммарную скорость, то есть скорость показывает только принятую работу. Могут спросить, почему? Обидно терять story points, когда user story в конце спринта закончена на 90%: story points пройдут как бы мимо команды. Вопрос только в том, чего хочет команда: показать высокую скорость или завысить ожидания заказчика? Возможно, в этой незаконченной истории действительно осталось 10% работ. Но вдруг, доделывая эти 10%, вы обнаруживаете дефект, на решение которого вы потратите еще +50% вашего времени. А заказчикам-то уже показали высокую скорость? Именно поэтому сообщество Скрам-практиков не рекомендует включать в скорость (velocity) любые недоделанные user stories.
- Команда пересчитывает сумму оставшихся story points на флип-чарте и прогнозирует срок выполнения проекта по формуле: время выполнения = сумма story points / velocity – скорее всего, срок выполнения будет отличаться от изначально запланированного.
- Повторяем шаги 1-6 до выполнения проекта по закраске. Обычно полная закраска занимает 4-5 спринтов.
Обсуждение
- Если еще перед первой итерацией у команд получились разные оценки, обсудите: как заказчик может понять, кто прав? В итоге, может оказаться (а это самый вероятный исход), что все неправы, потому что обещать точные сроки в комплексной системе – дело неблагодарное. Обсудите, как не попасть в ловушку своих же неверных оценок?
- Если команды не заработали очков после первой итерации, то обсудите: почему важно в конце итерации иметь готовый инкремент? Почему наполовину готовый инкремент не показывает прогресс? Почему наполовину готовый инкремент может дать большие погрешности в подсчете прогноза выполнения проекта?
- Продемонстрируйте, как нарисовать график сгорания релиза (Release Burndown Chart), используя данные из таблицы.
- Обсудите почему важно приучать заказчика к тому, что скорость команды может постоянно изменяться под воздействием непредвиденных обстоятельств?
- Собрать и зафиксировать обратную связь от участников. Что они узнали нового? Чему научились? Что из упражнения можно пробовать в реальной жизни?
- Ведущий убеждается, что участники поняли, как относительные попугаи помогли считать реальное время выполнения проекта.
- Исследуйте ценность разделения больших задач (user stories, фигур) и как команды улучшались между итерациями.
Варианты усложнения
- По завершению 2 спринта ведущий дорисовывает новую небольшую пустую фигурку на флипчартах всех команд: прилетела обратная связь от пользователей, shit happens.
- Выбирать в командах Скрам-мастеров и давать задание рисовать Burndown Chart после каждого спринта.