Что такое груминг бэклога и как его проводить? Какие преимущества получает команда, если не пропускает это мероприятие? Давайте разберёмся в статье.
Груминг бэклога — это встреча scrum-команды, на которой разбираются составляющие бэклога: пользовательские истории, эпики, баги и прочее — все они готовятся к последующим спринтам.
В ScrumGuide нет такого термина, но есть понятие «уточнение элементов бэклога» (Product Backlog Refinement).
Термин «груминг» позаимствован из мира природы: он обозначает процесс ухаживания за собой, поэтому вы можете встретить объявления о груминге собак или кошек. Это значит, это профессионал вычешет животное, вымоет, подстрижёт шерсть, почистит ушки и сделает другие процедуры, чтобы питомец был чистым и аккуратным.
Этот образ ложится в основу ухаживания за бэклогом. В нём тоже необходимо прибираться и поддерживать чистоту, чтобы бэклог оставался актуальным, ясным и готовым к работе.
В груминге бэклога участвуют команда разработки и владелец продукта. Они вместе отвечают за разбор бэклога и решают, какие элементы могут быть реализованы в следующем спринте и достаточно ли чётко они сформулированы, чтобы отправиться в работу.
На груминге каждый PBI рассматривается более пристально. В уточнение бэклога входит:
- оценка историй и расстановка приоритетов,
- деление общих историй и эпиков на несколько элементов или, наоборот, объединение их в одну задачу,
- удаление потерявших актуальность историй,
- добавление новых историй и доказательство их ценности для продукта.
Груминг — неофициальное собрание в Scrum, в отличие от планирование спринта или стендапа, но Scrum Guide советует регулярно отводить время на разбор бэклога:
«Уточнение Бэклога Продукта – это деятельность, направленная на уточнение, оценку и упорядочивание элементов в Бэклоге Продукта. <...> Скрам-команда решает, как и когда должно производиться Уточнение Бэклога Продукта. Этот процесс обычно занимает не более 10% от доступного времени Скрам‐команды».
Как выполняется груминг бэклога
У груминга нет точного места в спринте. Оно определяется самой командой. Например, мы отводим для груминга 4 часа в середине каждого спринта и приглашаем к участию всю команду.
На разборе бэклога команда разбирается с PBI, которые она собирается реализовать в следующем спринте. Разработчики обсуждают критерии приёмки, продумывают сценарии, согласно которым пользователь будет использовать функцию.
Scrum-команда разбивает большие требования, такие как эпики, на небольшие пользовательские истории, которые можно реализовать за спринт. Таким образом, во время груминга не только пересматриваются старые User Stories, но и появляются новые. Некоторые элементы будут полностью удалены из бэклога продукта, если выполнять их сложно, а ожидаемая ценность не стоит таких сил.
Поскольку задачи попадают в бэклог в разное время, их изначальный приоритет может измениться. Владелец продукта с помощью команды переоценивает PBI с учётом новых данных. Для оценки чаще всего используются принцип MoSCoW или модель Кано.
Сценарий груминга, направленного на подготовку историй, обычно такой:
- команда разработки выделяет истории для разбора,
- владелец продукта объясняет каждый элемент, его специфику и ценность для проекта,
- команда соглашается с владельцем продукта или, в случае сомнений, задаёт уточняющие вопросы — тогда история может измениться,
- команда предполагает, как будет реализовывать это требование, и оценивает рабочую нагрузку в SP,
- элемент бэклога получает свою актуальную ценность и оценку рабочей нагрузки.
После груминга владелец продукта дорабатывает элементы бэклога, чтобы они были полностью готовы к моменту планирования спринта.
На груминге есть два момента, которые могут пойти не по плану:
Команда не понимает PBI и его не удается уточнить в рамках одной встречи — элемент бэклога должен быть доработан,
Команда не понимает, как реализовать PBI, — тогда инициируется ещё одно обсуждение, куда можно пригласить более опытных коллег или провести консультацию у сторонних экспертов; в некоторых случаях создаются минимальные версии нескольких вариантов.
Для чего проводится груминг
Груминг, как отдельное событие, имеет несколько преимуществ:
- помогает владельцу продукта вести бэклог,
- информация о проекте доносится до всех участников команды,
- все неопределённости решаются и уточняются совместно,
- команда подготавливается к планированию спринта,
- задачи обсуждаются до начала спринта, и это снижает риски: остаётся время доработать требования.
Таким образом, упрощается работа владельца продукта и команды разработки, что напрямую влияет на качество продукта.