Можно ли предсказать, когда скрам-команда завершит бэклог продукта?

Этот вопрос связан с этим вопросом , но я не смог найти ответ на эту часть.

Я являюсь частью большого проекта, весь бэклог продукта которого измеряется в стори-пойнтах. Оценка примерно основана на усилиях и предполагает определенное количество усилий на SP.

Первоначально моей целью было установить среднюю скорость (в SP) за спринт команды, а затем использовать ее в качестве показателя прогнозирования по отношению к остальной части невыполненной работы (при условии, что она также измеряется в SP).

Поскольку весь бэклог продукта не полностью обработан, есть несколько элементов, которые не полностью определены.

Можно ли использовать описанный выше метод для составления точного плана/прогноза? С какими подводными камнями это может столкнуться? Какие другие методы, если таковые имеются, можно использовать для прогнозирования даты завершения всего бэклога продукта.

Насколько велико отставание по отношению к вашей скорости? Если вы говорите о планировании более 5-6 спринтов, вы, по сути, будете гадать.
Бэклог продукта в несколько десятков раз превышает скорость «недавнего» спринта.
Тогда вы эффективно угадываете. Накопление вариаций за такой большой период времени очень трудно определить с какой-либо степенью точности.

Ответы (6)

Если вы можете получить 2-3 спринта на скорость, как рекомендует Дрю Джордан, это лучший способ. При этом реальность часто застает нас перед руководством, которое спрашивает: «Когда вы можете закончить», еще до того, как работа началась. На этот случай есть хорошо работающий метод, которому я научился в Agile Learning Labs.

Предостережение. Чтобы сделать это, вы должны провести полную оценку отставания. Если вы пытаетесь оценить невыполненную работу за весь год, это будет неточно. Ничто не может хорошо оценить год плюс продукт. Это все равно лучше современных моделей.

Шаг 1: Выберите разумные сроки выпуска. Если вы занимаетесь agile, то вам следует выпускать релизы максимум каждые три месяца. Если нет, вы теряете большую часть ценности agile, а также вам будет трудно применять agile, когда нет реальной обратной связи. Это также напрямую решает проблему предостережения, перечисленного выше.

Шаг 2: Оцените отставание. Как упоминалось в Предостережении, это должно произойти, чтобы иметь возможность прогнозировать дату выпуска.

Шаг 3: Спланируйте теоретический первый спринт. Теперь это не управление, назначающее истории спринту. Это честная команда самоорганизованного планирования. Возьмите первую историю из бэклога, и команда спросит себя: «Думаем, мы сможем сделать это за спринт (он длится две недели, верно? :) ). Затем повторите это. Продолжайте делать это, пока команда не справится». Они даже близко не чувствуют себя комфортно от того, что могут завершить историю. Это КЛЮЧ. Если хотя бы один человек считает, что это невозможно сделать, тогда остановитесь и не добавляйте историю. На этом этапе лучше недооценить, чем переоценить. .

Шаг 4: Проекция. Сложите баллы за планирование спринта. Теперь разделите общее количество очков истории в выпуске (помните, что ваша цель — не более трех месяцев). На данный момент у вас есть, сколько спринтов потребуется для завершения работы. Если это более трех месяцев работы, релиз, вероятно, слишком большой, и вам следует посмотреть, что действительно необходимо.

Шаг 5 Подкрепите это ПРОГНОЗОМ. Когда вы даете оценку времени, укажите это как «У нас есть 60% уверенности в этом графике». Затем добавьте к этому следующее: «После нашего первого спринта этот показатель должен вырасти до 70%, а после нашего второго спринта — до 80%. К третьему спринту у нас должна быть 90% уверенность в том, какой будет наша окончательная дата отгрузки или что мы сделали. если дата отгрузки должна быть привязана к определенному календарному моменту».

У вас никогда не будет уверенности более 90%, не пытайтесь. Мать-природа и Мерфи обожают связываться со всеми, кто говорит: «Я на 100% уверен».

Спасибо за этот отличный и подробный ответ. Что касается шага № 5 выше, как я могу определить уровень достоверности? - например, что означает уровень достоверности 60%? Вероятность того, что эти сроки будут соблюдены, составляет 60 %, а превышение — 40 %? Как большее количество спринтов повысит уровень уверенности?
Ваша уверенность будет связана с разницей в скорости спринта и вероятностью появления неизвестных во время разработки. Чем больше спринтов вы сделали, тем лучше вы поймете эти различия.
В начале ваша уверенность в буквальном смысле догадка. Я склоняюсь к 60%, потому что все, что меньше 50%, и многие старшие руководители даже не позволяют проекту двигаться вперед. Ваша первоначальная оценка является абсолютным предположением, вот в чем дело. Цель состоит в том, чтобы убедиться, что люди знают об этом и не принуждают вас к этому.

Вы можете оценить дату завершения, диапазон дат, завершенный спринт и т. д., разделив текущий размер невыполненной работы (в SP) на текущую скорость команды, но...

  1. Обязательно напомните всем, кто просматривает ваш прогноз, что это оценка.
  2. Быстро проверьте, насколько изменчива ваша скорость. Какова скорость последних 3 итераций команды? Текущая итерация? Общая продолжительность проекта? Сильно изменчивая скорость должна побудить вас снизить уверенность в любых результатах долгосрочного прогнозирования.
  3. Перечислите все свои предположения и метод, который вы использовали для получения прогноза, прежде чем представить свои цифры. Убедитесь, что ваша аудитория понимает влияние предположений, которые вы должны были сделать.
  4. Будьте честны в своей уверенности в предоставлении прогноза
  5. Попробуйте указать диапазон дат, а не конкретную дату с лучшими, средними и худшими числами. Вы можете придумать что угодно с симуляциями Монте-Карло и такими инструментами, как Crystall Ball, если хотите.
  6. Используйте свои сценарии как возможность повысить риски
  7. НЕ берите на себя никаких долгосрочных обязательств по срокам, основываясь на ваших прогнозах. Прогноз следует использовать в первую очередь как инструмент для обсуждения и выявления рисков/недостатков, которые необходимо устранить для удовлетворения потребностей клиента на высоком уровне.

Стоит помнить, что Scrum — это agile-фреймворк, а agile — это реакция на изменения.

Хорошо и часто бывает полезно использовать скорость команды для прогнозирования завершения отставания. Но имейте в виду, что в процессе разработки вы будете ожидать и приветствовать изменения. В конце каждого спринта вы проводите обзор спринта, во время которого вы получаете обратную связь от вашего владельца продукта и заинтересованных сторон. Команда должна надеяться, что эта обратная связь поможет приблизить разработку продукта к тому, чего действительно хотят заинтересованные стороны и пользователи.

Результатом этого итеративного процесса является то, что долгосрочные прогнозы вряд ли останутся прежними. Возможно, даже потребуется пересматривать долгосрочные прогнозы после каждого спринта.

+1 за напоминание о том, что Agile — это реакция на изменения

Да, это именно то, что вы должны сделать. Я бы рекомендовал использовать как минимум 2 спринта, а лучше 3, чтобы определить среднюю скорость.

Также важно сформулировать это с точки зрения вероятности: если ваша скорость равна 5, а есть 20 баллов, то вы, вероятно, закончите после 4 спринтов. Если только объем не изменится, не произойдет что-то непредвиденное, материализуется риск и т. д.

Что бы я сделал, так это то, что элементы, которые не полностью определены, делают все возможное. Обеспечить диапазон прогноза (например, 4-6 итераций). Это дает вам некоторое пространство для изменения масштаба или чего-то еще, что может произойти, а ваши заинтересованные стороны дают оценку завершения. Укрепляйте идею о том, что они могут изменить дату завершения в любом направлении в зависимости от меняющихся требований или объема работ, если они почувствуют в этом необходимость.

Если вам нужно что-то более научное, вы можете взглянуть на формулы PERT . Это может дать вам статистическое представление о том, когда проект будет завершен, и насколько вероятна эта оценка. Это полезно, когда ваши руководители требуют больше конкретики, чем «4-6 спринтов», но также позволяет вам постоянно напоминать им, что это вероятность, а не данность.

Средняя скорость может вводить в заблуждение, если есть большая разница от спринта к спринту.

Вы можете сопоставить скорость вашей команды с невыполненной работой и получить оптимистичные и пессимистичные даты выпуска.введите описание изображения здесь

Волнистая черная линия — это линия выгорания вашей команды — она колеблется, потому что скорость часто колеблется. Зеленая линия — это оценка их лучшего выгорания/скорости, а красная — оценка их наихудшего выгорания/скорости. Там, где они пересекаются с линией фиксированного объема, можно определить дату выпуска. Видео , объясняющее это, находится здесь .

У меня есть хороший опыт оценки Agile Monte Carlo, например https://agilemontecarlo.com . Простого учета средней скорости недостаточно, чтобы получить профиль риска проекта. Особенно полезно знать смоделированные даты доставки 25% и 75% для общения с заинтересованными сторонами.