Что такое грумминг бэклога
Технический груминг
Backlog Grooming — понятие из scrum, смысл которого в том, что команда собирается и решает что будет делать дальше и ставит эстимейты задачам. Проводится 1–2 раза в спринт в назначенное время. Но к сожалению, у нас, в какой-то момент возникли проблемы с PR:
Решение проблем оказалось банальным, появились “technical groomings” (название взято из головы, если вы знаете как этот процесс называется официально — пишите в личку). Смысл в том, чтобы позволить технической стороне обсудить формальный алгоритм задачи, разбить задачи на атомарные задачи и заэстимейтить каждую из задач.
Идея в том, чтобы у разработчиков было понимание того, как задача будет сделана. Тут спасает что угодно, текст с пошаговым выполнением задачи, блок схемы или просто рисунки в блокноте. Главное, что стоит держать в голове — нет понимания бизнес цели — не будет работающего алгоритма. Поэтому не спешите и задавайте вопросы бизнесу, даже если есть хоть малейшее недопонимание задачи.
Разбивка на атомарные задачи Правила, которых стараюсь придерживаться:
Также, планируйте рефакторинг и закрытие технических долгов либо перед началом работы, либо после. Если одна задача из списка блокирует другую — стоит задуматься и попробовать вынести то, что блокирует — в отдельную задачу. Яркий пример такой задачи: добавить эндпоинт для фронтенда. Минимум два варианта, так решить проблему:
С таким подходом будет проще сделать документацию по проекту, а также, больше разработчиков будет понимать логику приложения. Кроме того, плохие решения будут отсеиваться быстрее, а значит цена ошибки будет меньше.
Так как результат такого груминга — проработанный алгоритм выполнения задачи, написание кода превращается в рутину. А составленный список минимальных задач помогает побороть фрустрацию и прокрастинацию перед неизведанным.
Главная проблема — трата времени на обсуждение задачи. Этого могут не понять менеджеры, которые считают “нет кода — нет работы”. Старайтесь говорить с менеджерами и объяснять смысл таких обсуждений.
Такой подход не работает в команде из одного человека. А сам процесс груминга энергоемок, поэтому не ждите, что сможете загрумить все за один день.
И главное — груминг требует командной дисциплины.
Уточнение Бэклога Продукта [Груминг Бэклога] (Product Backlog Refinement)
Уточнение Бэклога Продукта — это активность, которая проводится Владельцем Продукта при участии всех членов Скрам-команды. Включает добавление деталей, оценку и упорядочивание элементов в Бэклоге Продукта.
Не относится к официальным Мероприятиям Скрама, однако зачастую проходит в виде мероприятия (встречи).
В русском жаргоне адептов Скрама для этой практики прижилось название Груминг Бэклога (а также такие переводы слова Grooming как Уход за бэклогом и Причесывание бэклога). Это связано с тем, что в Scrum Guide до 2013 года использовался термин Grooming, а не Refinement.
В Скраме рекомендуется от 5 до 10 процентов времени каждого Спринта выделять на Уточнение Бэклога Продукта. Этот процесс включает:
Уточнение Бэклога Продукта проводится не для того, что уже взято в работу в текущем спринте, а для будущих спринтов. Хорошей практикой считается иметь в Бэклоге Продукта детально проработанные элементы как минимум на два Спринта вперёд. В этом случае Планирование Спринта существенно упрощается, поскольку Владелец Продукта и Скрам-Команда начинают планирование с понятным, прошедшим этап анализа и аккуратно оцененным набором пользовательских историй. Если же груминг Бэклога не был проведён (или был проведён недостаточно хорошо), Планирование Спринта растянется во времени, вызовет большое количество вопросов, потребует уточнений и/или выявит несоответствия.
Для пользовательских историй существует два критически важных этапа: «Готово к разработке» и «Сделано». Для них должны быть, соответственно, критерии готовности к разработке (Definition of Ready) и Критерии готовности (критерии завершения работы над историей, Definition of Done). И Уточнение Бэклога — это процесс или встреча, в ходе которого Владелец Продукта удостоверяется в том, что пользовательские истории «Готовы к разработке», то есть команда может немедленно взять их в работу и перевести их в «Сделано».
Одно из 5 Мероприятий Скрама. Эта встреча длится не более пятнадцати минут и проводится каждый рабочий день в одном и том же месте в одно и то же время. В нем принимают участие все разработчики. На нем озвучивается информация для оценки прогресса и отмечаются препятствия. В результате разработчики могут прийти к необходимости перепланирования работы внутри Спринта.
Одно из 5 Мероприятий Скрама. Проводится в конце Спринта, чтобы клиенты и заинтересованные лица провели инспекцию Инкремента и дали обратную связь по нему, а Скрам-команда, при необходимости, сделала адаптацию Бэклога Продукта. Для Спринта длиной в месяц Обзор Спринта длится не более 4 часов.
Одно из 5 Мероприятий Скрама. На этой встрече Скрам-команды происходит планирование работы на следующий Спринт. Для Спринта длиной в месяц встреча длится не более 8 часов. Она завершается созданием Бэклога Спринта и включает обсуждение 3-х тем:
Одно из 5 Мероприятий Скрама. Ретроспектива Спринта дает Скрам-команде возможность провести инспекцию своей работы и создать план улучшений на следующий Спринт. Ретроспектива проходит после Обзора Спринта, перед Планированием Спринта. Для Спринта длиной в месяц эта встреча ограничивается 3 часами.
Одно из 5 Мероприятий Скрама, которое является контейнером для других мероприятий. Спринты — это короткие регулярные циклы длиной не более четырех недель. Итерации работы должны быть достаточно короткими, чтобы команда не теряла концентрацию, и при этом достаточно длинными, чтобы поставлять значимый инкремент работы. Все остальные Мероприятия Скрама проводятся в рамках Спринта. Следующий Спринт начинается сразу же по окончании предыдущего.
Мы хотим, чтобы компании были крутыми, а люди в них — счастливыми
Менеджмент в ИТ
Agile in IT: Backlog Grooming
Один из основных и обязательных артефактов в Scrum, это бэклог задач. Фактически это список требований полученных от бизнеса и сформулированных в виде задач на разработку. Однако, сам по себе список всех задач еще не несет большой ценности, если он не привносит какой-то системы и структуры. Очень важным будет грамотная работа с бэклогом с тем, чтобы задачи в нем были актуальными, можно было провести их сравнения с точки зрения размеров и важности. Именно для этого и необходим Backlog Grooming, далее в статье разберемся как его организовать и провести.
Что такое Backlog Grooming?
Дословно, это «ухаживание» за продуктовым бэклогом. Grooming, это регулярное мероприятие, в рамках которого Product Owner совместно с командой проводят анализ и «перетряхивание» бэклога. Grooming проводиться, чтобы убедиться в том, что представленные в бэклоге задачи актуальны, имеют приоритет, а представленные в верхней части списка задачи, готовы к планированию в Sprint, реализации и выпуску.
Основные цели Backlog Grooming:
1. Самое главное – подготовить задачи в бэклоге для последующей работы с ними. Перед тем как та или иная задача будет запланирована в Sprint ее необходимо декомпозировать на пользовательские истории, оценить и определить приоритет;
2. Уточнить актуальность задач, представленных в бэклоге с точки зрения развития продукта. В том числе пройти по отложенным задачам с низким приоритетом – возможно они стали более важными, либо их напротив можно окончательно исключить из списка;
3. Прояснить имеющиеся вопросы, получить дополнительную необходимую информацию по задачам, которые пока непонятны и поэтому не могут быть приняты в работу.
Организация встречи для проведения Grooming.
Чаще всего для Grooming проводиться отдельная встреча. Она может проводиться как регулярно, всегда в один и тот же день, так и по мере необходимости – требуется список оцененных и приоритезированных историй.
Важно не совмещать проработку бэклога с планированием спринта. В рамках Sprint Planning мы уже должны иметь список подготовленных задач, чтобы сосредоточиться только на вопросах реализации историй и формировании скоупа (состава задач) для ближайшей итерации. Задача Grooming выполнить этот необходимый предварительный шаг и подготовить набор задач для планирования в работу.
Участники Backlog Grooming это владелец продукта, остальные члены Scrum команды и некоторые стейкхолдеры, чье участие будет полезным. Владелец продукта играет ведущую роль в организации встречи, он определяет цели и повестку для Grooming сессии.
Довольно важно ограничить число заинтересованных сторон, участвующих во встречи. Слишком большое количество участников будет снижать общую эффективность. Владелец продукта должен приглашать только тех участников, чья обратная связь, знания, информация необходима для проведения Grooming.
На встречу по Grooming должны быть приглашены все члены Scrum команды, т.к. их вклад ценен для реализации задач. Если сессия обработки бэклога приводит к какому-либо изменению приоритетов важно, чтобы команда была согласна с этими изменениями.
Этапы и активности в рамках Backlog Grooming:
1. Удаление существующих задач:
2. Добавление новых задач:
3. Декомпозиция задач:
4. Приоритезация задач:
5. Оценка задач:
6. Применение результатов\уроков предыдущих итераций разработки:
В целом, Grooming помогает гарантировать, что требования будут уточнены, а пользовательские истории будут подготовлены к работе заранее до планирования в Sprint. В этом случае команда во время планирования очередной итерации имеет хорошо проанализированный и четко определенный набор историй, которые разбиты атомарные и независимые составляющие, оценены и приоритезированы. Основываясь на результатах выполненной итерации (прошлый Sprint), могут быть скорректированы требования или выполнена переориентация направления развития продукта, которые будут учтены в последующих спринтах. Таким образом Grooming поддерживает и повышает гибкость Scrum процесса за анализа полученных знаний и фидбэков и включения соответствующих изменений (например, новый функционал и\или технические задачи) в будущие спринты.
Блог сайта
Agile in IT: Backlog Grooming
Один из основных и обязательных артефактов в Scrum, это бэклог задач. Фактически это список требований полученных от бизнеса и сформулированных в виде задач на разработку. Однако, сам по себе список всех задач еще не несет большой ценности, если он не привносит какой-то системы и структуры. Очень важным будет грамотная работа с бэклогом с тем, чтобы задачи в нем были актуальными, можно было провести их сравнения с точки зрения размеров и важности. Именно для этого и необходим Backlog Grooming, далее в статье разберемся как его организовать и провести.
Что такое Backlog Grooming?
Дословно, это «ухаживание» за продуктовым бэклогом. Grooming, это регулярное мероприятие, в рамках которого Product Owner совместно с командой проводят анализ и «перетряхивание» бэклога. Grooming проводиться, чтобы убедиться в том, что представленные в бэклоге задачи актуальны, имеют приоритет, а представленные в верхней части списка задачи, готовы к планированию в Sprint, реализации и выпуску.
Основные цели Backlog Grooming:
1. Самое главное – подготовить задачи в бэклоге для последующей работы с ними. Перед тем как та или иная задача будет запланирована в Sprint ее необходимо декомпозировать на пользовательские истории, оценить и определить приоритет;
2. Уточнить актуальность задач, представленных в бэклоге с точки зрения развития продукта. В том числе пройти по отложенным задачам с низким приоритетом – возможно они стали более важными, либо их напротив можно окончательно исключить из списка;
3. Прояснить имеющиеся вопросы, получить дополнительную необходимую информацию по задачам, которые пока непонятны и поэтому не могут быть приняты в работу.
Организация встречи для проведения Grooming.
Чаще всего для Grooming проводиться отдельная встреча. Она может проводиться как регулярно, всегда в один и тот же день, так и по мере необходимости – требуется список оцененных и приоритезированных историй.
Важно не совмещать проработку бэклога с планированием спринта. В рамках Sprint Planning мы уже должны иметь список подготовленных задач, чтобы сосредоточиться только на вопросах реализации историй и формировании скоупа (состава задач) для ближайшей итерации. Задача Grooming выполнить этот необходимый предварительный шаг и подготовить набор задач для планирования в работу.
Участники Backlog Grooming это владелец продукта, остальные члены Scrum команды и некоторые стейкхолдеры, чье участие будет полезным. Владелец продукта играет ведущую роль в организации встречи, он определяет цели и повестку для Grooming сессии.
Довольно важно ограничить число заинтересованных сторон, участвующих во встречи. Слишком большое количество участников будет снижать общую эффективность. Владелец продукта должен приглашать только тех участников, чья обратная связь, знания, информация необходима для проведения Grooming.
На встречу по Grooming должны быть приглашены все члены Scrum команды, т.к. их вклад ценен для реализации задач. Если сессия обработки бэклога приводит к какому-либо изменению приоритетов важно, чтобы команда была согласна с этими изменениями.
Этапы и активности в рамках Backlog Grooming:
1. Удаление существующих задач:
2. Добавление новых задач:
3. Декомпозиция задач:
4. Приоритезация задач:
5. Оценка задач:
6. Применение результатов\уроков предыдущих итераций разработки:
В целом, Grooming помогает гарантировать, что требования будут уточнены, а пользовательские истории будут подготовлены к работе заранее до планирования в Sprint. В этом случае команда во время планирования очередной итерации имеет хорошо проанализированный и четко определенный набор историй, которые разбиты атомарные и независимые составляющие, оценены и приоритезированы. Основываясь на результатах выполненной итерации (прошлый Sprint), могут быть скорректированы требования или выполнена переориентация направления развития продукта, которые будут учтены в последующих спринтах. Таким образом Grooming поддерживает и повышает гибкость Scrum процесса за анализа полученных знаний и фидбэков и включения соответствующих изменений (например, новый функционал и\или технические задачи) в будущие спринты.
Этапы и мероприятия Scrum
7.2. Ежедневные встречи (daily)
Знание о том, чем занимаются коллеги по команде, помогает в:
Длительность дэйли строго ограничена и не должна превышать 15 минут. Эта встреча не предназначена для решения проблем. Все требующие специального обсуждения вопросы должны быть вынесены за ее пределы.
Встреча проводится каждый день всегда в одно и то же время, чаще всего это утро, но в распределенных командах это может быть день или вечер.
Scrum-мастер ведет эту встречу, задавая каждому члену команды по три вопроса:
Каждый член команды должен отвечать на необходимые вопросы.
Важно, чтобы все, отвечая на вопросы, не вдавались глубоко в детали и, боже упаси, уж точно не пытались тут же их решать.
С одной стороны, это кажется не такой уж и большой проблемой, но по факту оказывается, что отвлечение сотрудников от плана встречи приводит к тому, что через какое-то время многие не видят в ней необходимости. В тот момент, когда кто-то углубляется в повествование о деталях, большинство незаинтересованных начинает скучать, погружаться в серфинг социальных сетей посредством мобильных гаджетов и т. д.
Для того чтобы перебороть неправильное развитие Scrum-процесса и направить дэйли в нужное русло, нужно:
7.3. Груминг бизнес-задач
Груминг стоит проводить до или в начале спринта, с тем чтобы детально разобрать подготавливаемые задачи к реализации разработчиками. Периодичность его проведения должна быть один раз в спринт. Время, затрачиваемое на груминг, должно составлять 10% от общей продолжительности спринта.
Сначала, для вновь собранной команды, на груминг может уходить немало времени. Это связано с «притиранием» разработчиков и владельца продукта друг к другу, более глубинным пониманием бизнес-смысла разрабатываемого программного обеспечения, осознанием деталей и взаимосвязей влияния автоматизируемых процессов и т. д. Но это нужно делать. Как результат появится прогресс в работе над задачами, члены команды уйдут от «слепого» анализа требований к осознанному совершенствованию системы.
Чтобы груминг прижился в операционной деятельности каждой команды, необходимо следовать нескольким простым правилам:
Эти характеристики, в соответствии с которыми задачу можно брать в работу на спринт.