Груминг agile что это
Технический груминг
Backlog Grooming — понятие из scrum, смысл которого в том, что команда собирается и решает что будет делать дальше и ставит эстимейты задачам. Проводится 1–2 раза в спринт в назначенное время. Но к сожалению, у нас, в какой-то момент возникли проблемы с PR:
Решение проблем оказалось банальным, появились “technical groomings” (название взято из головы, если вы знаете как этот процесс называется официально — пишите в личку). Смысл в том, чтобы позволить технической стороне обсудить формальный алгоритм задачи, разбить задачи на атомарные задачи и заэстимейтить каждую из задач.
Идея в том, чтобы у разработчиков было понимание того, как задача будет сделана. Тут спасает что угодно, текст с пошаговым выполнением задачи, блок схемы или просто рисунки в блокноте. Главное, что стоит держать в голове — нет понимания бизнес цели — не будет работающего алгоритма. Поэтому не спешите и задавайте вопросы бизнесу, даже если есть хоть малейшее недопонимание задачи.
Разбивка на атомарные задачи Правила, которых стараюсь придерживаться:
Также, планируйте рефакторинг и закрытие технических долгов либо перед началом работы, либо после. Если одна задача из списка блокирует другую — стоит задуматься и попробовать вынести то, что блокирует — в отдельную задачу. Яркий пример такой задачи: добавить эндпоинт для фронтенда. Минимум два варианта, так решить проблему:
С таким подходом будет проще сделать документацию по проекту, а также, больше разработчиков будет понимать логику приложения. Кроме того, плохие решения будут отсеиваться быстрее, а значит цена ошибки будет меньше.
Так как результат такого груминга — проработанный алгоритм выполнения задачи, написание кода превращается в рутину. А составленный список минимальных задач помогает побороть фрустрацию и прокрастинацию перед неизведанным.
Главная проблема — трата времени на обсуждение задачи. Этого могут не понять менеджеры, которые считают “нет кода — нет работы”. Старайтесь говорить с менеджерами и объяснять смысл таких обсуждений.
Такой подход не работает в команде из одного человека. А сам процесс груминга энергоемок, поэтому не ждите, что сможете загрумить все за один день.
И главное — груминг требует командной дисциплины.
Уход за беклогом (груминг), или Как сделать планирование спринтов легкой задачей
Довольно давно, когда я запускал свой первый Скрам-проект (Ciklum, проект Encode, 2004 год) мы не знали, что такое груминг.
Заказчик созванивался с нами для планирования спринта… и тут начиналось: мы задавали глупые вопросы; заказчик куда-то убегал за ответами, с кем-то советовался и менял приоритеты; мы воевали с картами за истории, били истории на задачи… и так бесконечно. Планирование спринта у нас редко занимало меньше 8 часов.
Хуже всего то, что через две недели этот кошмар нужно было повторить. Сильная закалка для Скрам-мастера! 🙂
Что мы делали не так? Что мы упускали? Что бы я делал сейчас по-другому?
Сегодня практика “причесывания беклога” (по-английски: “grooming”) является одной из тех активностей, без которых не обходятся продуктивные agile-команды.
Эта практика описана в “Скрам-гайде” от Швабра и Сазерленд, формальном описании Скрама.
Что такое груминг? Дополнительная церемония Скрама? Как и когда его проводить?
Груминг – это не ещё один тип встреч в Скраме. Это активность, которая делается на протяжении спринта для подготовки беклога к следующему спринт-планированию.
Груминг стоит проводить:
В начале проекта на груминги может уходить немало времени. Чтобы всё-таки был прогресс по выполнению текущих задач, а вы не занимались слепым анализом требований, советуем взять за правило тратить не больше 10% от времени спринта на груминги.
Когда у вас появится достаточно нагрумленных историй на 2-3 спринта вперёд, стоит чуть сбавить темп и дальше грумить регулярно, но понемногу. Так вы будете поддерживать в постоянном здоровом состоянии верхушку беклога.
Здоровое состояние беклога или Definition of Ready:
Как можно провести сессии груминга?
Печать истории из треккинга:
Пригласить Владельца Продукта приехать и поучаствовать вживую:
Создать непринужденную атмосферу и погрумить в свое удовольствие:
Советы по грумингу:
цац (Wednesday, 18 September 2019 14:56)
Какой только херни не придумают лишь бы усложнить жизнь программистам, а менеджерам пыль в глаза руководству пустить
Oleksand Chovhan (Thursday, 07 November 2019 23:56)
Alexandr Bondarenko (Wednesday, 29 April 2020 20:17)
Груммер Ебатель (Thursday, 16 July 2020 11:58)
Цец дело говорит. Цац хуйни не скажет.
Анти-цац (Tuesday, 03 November 2020 08:46)
не-цац (Friday, 12 February 2021 08:55)
Анон (Friday, 12 February 2021 16:10)
Если этой «херни» не будет, то бэклог будет в говне..
Ну или если Вы работайте в финтехе, то тут другая проблема, там всем плевать на бэклог 🙂
Ламер (Tuesday, 14 September 2021 03:42)
Просто я (Thursday, 16 September 2021 12:35)
Цац всё правильно сказал.
цац (Sunday, 10 October 2021 10:26)
exmr (Friday, 26 November 2021 09:31)
Люди, очнитесь: разработчики, аналитики, тестировщики вырезают бумажечки и играются с ними. Что за детский сад? Может вместо этого работать лучше?
Груммер-Ахуеватель (Friday, 24 December 2021 21:44)
Менеджмент в ИТ
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 процесса за анализа полученных знаний и фидбэков и включения соответствующих изменений (например, новый функционал и\или технические задачи) в будущие спринты.
Для чего и как проводят backlog grooming в продуктовых командах?
Бэклог продуктовых задач является одним из основных и обязательных артефактов Agile. Фактически, это набор требований, полученных от бизнеса и сформулированных в виде задач для разработки. Что нужно делать для того, чтобы эти задачи всегда были в порядке? И как это связано с концепцией backlog grooming?
Набор таких задач не несет ценности, если не приносит системной или структурной оптимизации. Очень важно правильно уметь управлять очередью задач, чтобы получить актуальный материал для работы. Как раз это и является целью такого процесса или активности, как backlog grooming.
Еще один тип встреч в Scrum
Backlog grooming — это собрание представителей Scrum-команды, во время которого обсуждаются детали бэклога продукта и готовится очередное планирование спринта.
Наверняка, большинство менеджеров и собственников продуктов благодаря опыту и практике знают, как превратить рутинное управление бэклогом в приятный процесс. Чтобы достичь этого, необходимо тщательно ухаживать за бэклогом, “чистить” и оптимизировать его. Это то, что называется grooming или product backlog refinement.
Согласитесь, любой продукт, как и человек, требует внимания и заботы.
Стратегический смысл груминга в управлении продуктом
Поскольку бэклог представляет собой очередь из пользовательских историй, то, часто, такой список может быстро стать перегруженным. Многие не знают, как справляться с такой перегрузкой, а бэклог продолжает расти.
Когда это случается, члены команды могут потерять фокус на важных задачах, а статус пользовательских историй может утратить ясность. Также могут возникнуть проблемы с оценкой времени и ресурсов.
Уход за бэклогом — это активность с участием менеджера проекта (менеджера продукта/ собственника продукта) и представителя клиента, направленная на то, чтобы разбить бэклог на истории пользователей, переориентировать их и задать новые приоритеты. Backlog grooming в управлении продуктом должен стать постоянным событием, основанном на глубоком анализе и четких действиях.
Этот процесс необходим для того, чтобы задачи, представленные в бэклоге, были актуальными, а те, которые представлены в верхней части списка, были готовы к планированию в спринте, реализации и релизу.
Груминг бэклога часто называют предварительным планированием. Обычно собственник продукта и представители команды организуют его в середине спринта.
Процесс не считается формальный частью Scrum. Тем не менее, рекомендуется, чтобы владелец продукта и представители команды выделяли до 15% каждого спринта для такой активности.
Главные цели процесса backlog grooming
Иногда собрание по backlog grooming называют story time session. В любом случае, цель этого мероприятия — обсудить текущий бэклог, определить и предложить действия по его оптимизации. Это может включать следующее:
Результат хорошего груминга
Результатам grooming является здоровый вид бэклога:
Какие инструменты использовать для backlog grooming?
Поскольку определение приоритетов — ключевой момент во время проведения backlog grooming, то очень важно грамотно визуализировать важность и взаимосвязь задач для дальнейшей работы с ними. Для упорядочивания идей и задач менеджеры продуктов используют параметры Value и Efforts. Сравнение этих значений для каждой задачи помогает лучше определить приоритеты и выбрать наиболее важные задачи.
В качестве заключения
Важно помнить, что grooming должен стать постоянным событием в управлении продуктом, которым не стоит пренебрегать. Этот процесс — это норма для качественного развития продукта. Самое главное в нем — оптимизировать задачи бэклога для последующей работы с ними.
Backlog grooming помогает прояснять релевантность задач, представленных в бэклоге, анализировать существующие вопросы и получать дополнительную информацию о задачах, которые пока не до конца ясны.
Подытоживая, отметим основные преимущества backlog grooming:
Backlog refinement (grooming): чем полезна регулярная актуализация бэклога
Запросы бизнеса всегда превышают возможности команд по их реализации. Практика backlog refinement помогает контролировать постоянно растущий бэклог.
Потребностей бизнеса всегда больше, чем ресурсов для их реализации. В Scrum за обработку запросов и формирование бэклога отвечает владелец продукта. Но идеи накапливаются, бэклог становится перегруженным и продолжает расти, а команде сложнее держать фокус и эффективно планировать время на выполнение самых полезных задач.
Чтобы брать в работу самое важное — с учетом новых идей и приоритетов — бэклог следует регулярно пересматривать. Для этого проводится Backlog refinement (grooming) — встречи с участием владельца продукта и скрам-команды, в ходе которой содержимое бэклога актуализируется для следующего спринта.
В чем польза?
Актуализация бэклога помогает оптимизировать встречи по планированию спринта. Цель — гарантировать, что бэклог заполнен самыми нужными элементами, в должной степени декомпозированными и приоритизированными в соответствии с текущим видением продукта. А также подготовить почву для следующего спринта: проверить, что есть все данные для работы над элементами, которые войдут в будущий спринт.
Иными словами, это точка командной синхронизации в непрерывном процессе работы с бэклогом, повод еще раз вместе просмотреть его содержимое и задать себе вопросы: эти элементы точно самые важные? их все еще нужно делать именно в этом варианте? они точно принесут ту ценность, которую мы вкладываем, и достаточно ли данных, подтверждающих это?
Основные выгоды актуализации бэклога:
Кто и когда проводит
Согласно Scrum Guide, актуализация бэклога может занимать до 10% времени от спринта. Это может быть одна встреча или несколько более коротких. Некоторые команды предпочитают проводить ее за 2-3 дня до планирования следующего спринта, другие собираются раз в неделю. В этом случае встречи по планированию и уточнению бэклога чередуются, и если проводить их в один и тот же день каждую неделю, формируется четкий ритм, который помогает команде работать эффективно. Тем не менее, владелец продукта может обновлять элементы бэклога в любое время.
На что обратить внимание
Актуализация бэклога — ценная практика, которая позволяет сделать работу более продуктивной. Поскольку команда и так проводит много встреч, важно организовывать их так, чтобы они не занимали много времени и приносили максимум пользы. Вот несколько рекомендаций, которые могут в этом помочь:
Элементы бэклога декомпозируют до такой степени, чтобы их выполнение помещалось в спринт. По результатам backlog refinement’а команда должна убедиться, что есть все исходные условия для реализации элемента бэклога в спринте. А по тем, для которых недостаточно, запланировать шаги, необходимые для подготовки.
Результативность встречи во многом зависит от того, насколько хорошо владелец продукта и скрам-мастер организуют обсуждение. Подробнее их влияние на работу команды мы рассматривали в материале «Product owner и скрам-мастер: почему важно разделять эти роли».