Уточнение бэклога продукта (грумминг)

Всем привет!

Я продолжаю цикл статей про фреймворк Скрам, и сегодня речь пойдет об уточнении бэклога продукта или в простонародье грумминге.

Внимание! Очень важная информация. Если размер вашей команды разработки превышает девять человек, закройте эту страницу и ни в коем случае не читайте дальше. Ну, или посмотрите вот этот клип группы Ленинград:

И все равно закройте. В этой статье рассматривается пример уточнения бэклога продукта на одну скрам-команду. Если у вас несколько скрам-команд, обратитесь к опыту Dodo Pizza, где ребята отстраивают масштабируемый скрам (LeSS).

Если же у вас одна небольшая команда на 4-5 разработчика, тогда велкам.

И так, концептуальная карта выглядит следующим образом:

Рис. 1. Концептуальная карта уточнения бэклога продукта.

Официально в скрамгайде эта встреча не выделена в отдельное событие и приводится как хорошая практика. На практике без грумминга скрам-команда далеко не уедет, а если быть точным – забуксует уже в первом же спринте.

Какую проблему решает грумминг?

Один из переводов слова «грумминг» с английского языка – причесывание. Вы «причесываете» элементы бэклога продукта, превращая их из больших и непонятных в маленькие и простые. Таким образом в бэклог спринта у вас попадает оцененная работа, о которой команда имеет довольно хорошее представление.

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

Участники

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

Еще хорошая практика звать на грумминг заинтересованные лица. Они очень часто дают ценные комментарии по тому, что нужно сделать. В Лабе мы часто звали ребят из соседних скрам-команд, когда им требовалась какая-нибудь работа от нас. А также приглашали разработчиков и заказчиком из смежных систем, чтобы прояснить требования. Это существенно экономило нам время на уточнениях и сокращало последующие переделки.

Тайминг

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

На практике у нас на эту активность уходил один час в неделю. Это было вполне достаточно, чтобы обсудить и оценить 4-5 элементов за раз, собрать список вопросов, которые остались без ответа, подготовиться ко второму груммингу в спринте и окончательно понять на нем, что мы готовы взять в работу в следующем.

Проведение грумминга

За время работы в скрам-команде мы выработали следующий алгоритм, и он до сих пор кажется мне крайне эффективным:

  1. Владелец продукта с утра в день грумминга рассылает команде список элементов, которые он будет представлять на встрече.
  2. Команда разработки просматривает элементы и готовится с технической точки зрения.
  3. На встрече Владелец продукта рассказывает подробно, что нужно сделать.
  4. Команда, где это возможно, помогает Владельцу продукта переформулировать элемент бэклога продукта в пользовательскую историю.
  5. Скрам-мастер фиксирует обсуждение на флипчарте с помощью стикеров и маркеров.
  6. Дальше команда декомпозирует работу по слоям: аналитика, разработка, тестирование. Обсуждает, как она будет ее делать. Задает уточняющие вопросы.
  7. После этого команда разработки оценивает через покер-планирование элемент бэклога продукта, используя последовательность Фибоначчи. Если у участников разные оценки, они объясняет свою точку зрения, и процесс оценки продолжает до тех пор, пока команда не приходит к какому-то общему решению.

После грумминг Скрам-мастер или Владелец продукта, или кто-то из команды разработки переносят итоги в электронный трекер (в нашем случае это была JIRA).

На этом встреча завершается.

Я хорошо помню первый грумминг. Сказать, что я не знал как его проводить, это ничего не сказать. Помню, как перед этим я пошел в команду Васи Кадыча, который тогда был скрам-мастеров Альфа-Мобайла, и смотрел, как он проводит грумминг. Ну и после этого сразу в бой. По началу всё было нескладно и немного тяжеловато. Но потом мы научились, и каждая встреча стала для нас отличным поводом пообщаться и обсудить дальнейшую работу.

Послесловие

Что еще хочется сказать напоследок. Я где-то прочитал или услышал, что грумминг или уточнение бэклога продукта – это отличная возможность для того, чтобы разработчики стали общаться между собой.

Я полностью согласен с этим утверждением, ибо сотни раз наблюдал, как люди после общения меняются на этой встрече, начинают работать слаженнее и веселее.

Удачи вам, ребзя! Всё получится.