Декомпозиция крупных историй: Зачем и как разбивать элементы Бэклога Продукта
Крупные элементы Бэклога Продукта замедляют команды. Изучите прямые методы их разбиения на более мелкие, ценные части для ускоренной поставки и улучшения обратной связи.
Команды часто сталкиваются с элементами Бэклога Продукта, которые кажутся слишком большими. Их трудно оценивать, трудно начинать и ещё труднее завершать в рамках Спринта. Эти крупные элементы, иногда называемые «эпиками» или «темами», сами по себе не являются плохими. Но их необходимо декомпозировать, прежде чем они смогут стать элементами Бэклога Спринта. Это не просто вопрос подгонки размера. Это вопрос обеспечения эмпиризма и более быстрой поставки ценности.
Почему меньший размер лучше
Руководство по Scrum гласит, что элементы Бэклога Продукта, которые Разработчики могут выполнить в течение одного Спринта, обычно считаются подходящими для выбора в Спринт. Крупный элемент часто означает длительный цикл выполнения. Это задерживает обратную связь, увеличивает риски и затрудняет адаптацию. Меньшие элементы позволяют быстрее завершать работу, быстрее обучаться и чаще поставлять ценность. Они также упрощают планирование и делают прогресс более прозрачным.
Когда разбивать
Разбиение является ключевой частью Уточнения Бэклога Продукта. Это непрерывная деятельность, а не разовое событие. Владелец Продукта и Разработчики сотрудничают, чтобы уточнять элементы, добавляя детали, оценки и порядок. По мере приближения элементов к верхней части Бэклога Продукта они должны быть достаточно малы, чтобы комфортно поместиться в Спринт. Это означает, что разбиение происходит непрерывно, задолго до события Планирования Спринта.
Техники разбиения
Существует несколько практических способов декомпозиции крупных элементов. Цель всегда состоит в том, чтобы сохранить ценность и убедиться, что каждый новый элемент является независимо поставляемым и тестируемым. Думайте о разбиении по разным измерениям, а не только по техническим слоям.
- По шагам рабочего процесса: Сложный процесс можно разбить на отдельные шаги. Например, «Обработать заказ клиента» может стать «Отправить заказ», «Обработать платёж», «Подтвердить заказ».
- По бизнес-правилам: Если элемент имеет несколько условий или правил, разделите его по каждому правилу. «Применить скидки» может стать «Применить скидку лояльности», «Применить сезонную скидку».
- По типу пользователя: Разные пользователи могут взаимодействовать с функцией по-разному. «Управление профилями пользователей» может стать «Администратор управляет профилями», «Пользователь обновляет свой профиль».
- По вариациям данных: Обрабатывайте различные входные или выходные данные отдельно. «Сгенерировать отчёт» может стать «Сгенерировать базовый отчёт», «Сгенерировать подробный отчёт с фильтрацией».
- По операционным границам: Разбивайте по естественным границам в системе или организации. Например, интеграция со сторонней системой может быть разбита по конкретным вызовам API или обмену данными.
Искусство вертикального нарезания
Сопротивляйтесь желанию разбивать горизонтально. Горизонтальное разбиение означает разделение элемента на технические слои, такие как «изменения в базе данных», «разработка API» и «работа с пользовательским интерфейсом». Это создаёт зависимости и задерживает поставку ценности. Вместо этого стремитесь к вертикальным срезам. Вертикальный срез поставляет небольшую, сквозную часть функциональности, которая приносит ценность пользователю или системе, даже если это очень базовая версия. Каждый срез должен быть потенциально готовым к выпуску.
Сохранение ценности и Определения Готовности
При разбиении убедитесь, что каждый новый, меньший элемент по-прежнему представляет собой полный Инкремент ценности. Он должен быть понятен сам по себе и способствовать достижению более крупной цели. Определение Готовности применяется к этим меньшим элементам. Каждый разбитый элемент должен быть способен достичь состояния «Готово» в рамках Спринта. Эта приверженность «Готово» обеспечивает качество и предотвращает накопление незавершённой работы.
