PI Planning

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

Когда компания растет, по мере ее роста увеличивается количество команд, а проблемы с синхронизацией множатся буквально на глазах. В такой ситуации с каждым днем становится все сложнее придерживаться единого вектора движения, развития продуктов и, конечно, все проблематичней договариваться. Помимо этого растет аппетит к размеру инкремента и горизонту планирования. В поисках готового решения крупные компании чаще всего смотрят в сторону планирования программного инкремента (PI Planning) из SAFe. Так как это очень хорошо описанный фреймворк, многие начинают пользоваться его элементами самостоятельно. Те элементы, которые вызывают сложности или трудозатратны, зачастую пытаются адаптировать под себя. Надо помнить, что все элементы не случайно описываются в фреймворке и являются критически важными для достижения целей PI Planning.

PI Planning проводится для определения целей программного инкремента (PI Objectives), формирования доски программы (Program Board) и карты рисков (Program risks).

Обычно PI Planning это 2х дневное мероприятие, в ходе которого происходит планирование одного релизного поезда (Agile Release Train - ART) в одно время и в одном месте, со всеми необходимыми участниками - при участии всех команд ART.
Основные плюсы и преимущества практики:
  • Прямая коммуникация заказчиков, экспертов и участников команд лицом к лицу.
  • Выравнивание контекста (бизнес\технологического) между всеми участниками, обозначение предварительных целей.
  • Идентификация зависимостей между командами.
  • Комплексный взгляд на скоуп и зависимости.
  • Договоренности о стратегии работы с выявленными рисками.
  • Сопоставление загрузки команд с их возможностями.
  • Быстрое принятие решений.
Идеи, которые чаще всего встречаются при попытке адаптировать элементы SAFe под себя:

  1. Сокращение состава участников.
  2. Сокращение сроков подготовки к планированию.
  3. Предварительная приоритезация «экспертным методом».
  4. Отсутствие предварительного разбора элементов бэклога.
  5. Отсутствие классификации рисков.
  6. Планирование работ без участия команд и без учета их уверенности в выполнимости.
  7. Гибридный формат мероприятия: часть людей в офисе, часть удаленно.
  8. Отсутствие обновлений на доске зависимостей.
  9. Запланировать только новые/важные фичи, а остальные работы вынести из скоупа мероприятия.
Все эти идеи были проверены опытным путем и имели свои последствия.
Сокращение состава участников
В одном из банков было принято решение, что можно ограничить состав участников, ведь менеджмент составил PI Board, который команды будут выполнять. В результате те команды, которые отсутствовали на PI Planning, не смогли сформировать планы, так как процесс разрешения зависимостей пошел не по намеченному сценарию. Команды же, присутствующие на PI Planning, говорили, что это помогло понять бизнес-контекст и ожидания, а присутствие вендоров помогло быстро договориться, что ранее требовало недель переписки. 
Сокращение сроков подготовки к планированию
Стандартная подготовка к PI Planning продолжается 2 недели. Даже если пытаться «уложить» ее в 1 день планирования, то предыдущий день будет посвящен завершению работ прошлой итерации, а следующий – старту спринта новой итерации. При этом подготовка к планированию на квартал всё ещё требует длительных и когнитивно емких активностей. Как следствие, сложно готовить бэклог, не ясно завершена задача, или потребуется доработка. Ситуация, в целом, стрессовая. Помимо этого возникают нарекания к командам разработки, а именно в отсутствии прогресса, так как у команд нет времени анализировать и улучшать процесс (некогда точить пилу, нужно пилить). А при отсутствии буфера (запаса прочности) вероятность попадания в прогноз сильно снижается. По факту PI Planning не достигает целей, а время не экономится, а тратится впустую.
Предварительная приоритезация «экспертным методом».
Суть подготовки к PI Planning в том, чтобы, зная пропускную способность ART максимизировать ценность, которую команды могут поставить. Т.е. при наличии миллиона идей, в цикле встреч отсекается ряд решений и выбираются кандидаты на планирование – список именно тех задач, которые приоритетны в следующем квартале. Все задачи и все кандидаты PI Planning заблаговременно прогоняются через формулу приоритезации. Только так к квартальному планированию можно получить реалистичные приоритеты. Это безумно важный процесс, без которого можно сделать идеальное квартальное планирование с командами и которое перестанет быть актуальным уже на третьем спринте - просто потому, что в реальности приоритеты поменялись. 
Отсутствие предварительного разбора элементов бэклога
Как правило, если команды впервые видят задачи на PI planning, они либо отказываются брать их в работу без предварительного анализа, либо сильно ошибаются по срокам, либо могут настаивать на включении задач по детализации требований на первые два спринта. Такой подход напоминает каскадную модель разработки. Именно поэтому рекомендуется показывать все задачи командам заранее, чтобы они приходили на планирование подготовленными, с релевантными вопросами.
Отсутствие классификации рисков
Особенно дорого может стоить ошибка, когда при первом PI planning не выделяется время на работу с рисками в явном виде. Это может приводить к нескольким вариантам развития событий:
  • Команды разработки слишком много берут в работу, и после второго спринта план признается неактуальным. Низкий уровень уверенности в выполнении плана все равно приводит к необходимости переделывать (с рисками невыполнения вовремя). 
  • Команды разработки слишком мало берут в работу, перезакладывая риски, что в скрытом виде может быть отражено на доске зависимостей. Визуализация рисков помогает избежать ситуаций, когда в середине квартала срочно нужно допланировать скоуп части команд.
Планирование работ без участия команд и без учета их уверенности в выполнимости 
Когда команде разработки дают сверху скоуп, который она должны запланировать, не проверяя степень уверенности в выполнимости плана - команда не чувствуют ответственность за результат. Если не слушать мнение команд, то теряется весь смысл планирования. Ведь именно команды эксперты в том, сколько они могут сделать и как это сделать лучше чтобы приблизиться к цели. 
Гибридный формат мероприятия: часть людей в офисе, часть удаленно
При таком подходе уровень вовлеченности команд ниже, чем при полностью онлайн или полностью оффлайн. Более того, команды могут решить, что на их присутствие пожалели выделить бюджет. Смешанный формат – худшее, что можно придумать, однако, в современных реалиях это один из наименее строгих пунктов.
Отсутствие обновлений на доске зависимостей
Мало создать доску зависимостей, важно еще и обновлять информацию в ней. Это живой инструмент, который нужно актуализировать и регулярно пересматривать. Без этого подход не несет той ценности, ради которой задумывался.
Запланировать только новые/важные фичи, а остальные работы вынести из скоупа мероприятия
При сокрытии части задачи пропадает возможность прозрачно работать с зависимостями и видеть на чем сфокусированы команды. Это может привести к хорошо знакомой ситуации, когда команда А переносит задачу на следующий спринт (потому что ее задерживает команда Б), и из-за этого страдает команда В и завязанные на ее результатах ключевые для ART цели.

Реалистичную сводную картину можно получить только вынеся абсолютно все на доску. Если что-то «заметать под ковер» и рисовать только желаемое положение вещей, то реальное положение дел так и останется неизвестным.
Возможно будет интересно