Почему ваш бэклог давно перестал быть бэклогом

Открываете список задач перед планированием спринта. Прокручиваете. Прокручиваете еще. Где-то на третьем экране перестаете понимать, что тут вообще происходит. Половина задач без автора, часть не трогали с прошлого года, несколько штук явно дублируют друг друга — но удалить страшно, вдруг важное.

Всем привет, я Ваня, из команды продукта SimpleOne SDLC. Поговорим с вами о том, как бэклог превращается в свалку, почему RICE и WSJF звучат красиво, но редко приживаются, и что на самом деле помогает держать бэклог управляемым.

Отдельную благодарность за помощь в написании статьи выражаю автору SimpleOne Панфиловой Яне.

Почему бэклог растет — и почему это плохо

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

Типичный разговор перед планированием: 

— Эту задачу можно закрыть, она висит с февраля? 

— Нет-нет, это стратегически важно.

— Кто поставил? 

— Вася. Он уволился в апреле. 

— Тогда закрываем?

— Нет, все-таки лучше не трогать.

Главная проблема не в количестве задач — а в том, что владелец продукта перестает понимать, что происходит в его же бэклоге. Когда это случается, бэклог больше не инструмент, а уже архив с неизвестным содержимым.

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

RICE, WSJF, MoSCoW — про них пишут много, используют редко

О фреймворках приоритизации написано очень много. Увидеть компанию, которая реально и долго работает по одному из них, — редкость. 

Грумминг в дикой природе:

— Почему эта фича в топе спринта? 

— Продуктовый маркетолог попросил. 

— А задача поддержки, которая блокирует 20 клиентов? 

— Ну она не срочная… 

— По чьей методологии? 

— По ощущениям.

Проблема не в логике фреймворков, а в стоимости их поддержки. Каждая буква в аббревиатуре — это отдельная метрика, которую нужно считать. По каждой задаче. Каждый раз. Команда разработки должна оценивать сложность и трудозатраты, бизнес — прогнозировать ценность. Когда в бэклоге 500 задач, это становится просто нереальным по времени.

Когда пытаешься приоритизровать таски в бэклоге

Когда пытаешься приоритизровать таски в бэклоге

Есть и другая проблема: ценность у всех разная. Где-то это выручка, где-то — количество довольных клиентов, где-то — скорость закрытия инцидентов. Как посчитать «довольный заказчик» в цифре? Правильного ответа нет. А значит, любая формула в итоге подгоняется под субъективное ощущение нужного человека.

На практике все сводится к двум вещам: минимальная оценка сложности — стори-поинты или человеко-часы — плюс суждение продакта или представителя бизнеса о том, стоит ли оно того. Звучит ненаучно, но на деле работает быстрее, чем кажется.

Поэтому лучше стремиться не к универсальному фреймворку, а к собственной метрике ценности — той, которая отражает реальные приоритеты именно вашей компании. Поэтому в SimpleOne SDLC, например, нет встроенного фреймворка приоритизации, но есть поле «ранг», которое владелец продукта расставляет сам.

Прежде чем выбирать подход к ведению бэклога, стоит разобраться с тем, как он вообще устроен. Потому что задача «навести порядок» означает разное в зависимости от того, один у вас продакт или десять команд.

Три уровня бэклога: продуктовый, командный, спринтовый

Иерархия бэклогов — это способ сохранить связь между стратегией компании и конкретной задачей разработчика. Без нее получается вот что: разработчик закрывает задачу «поправить кнопку в профиле», не зная что эта кнопка — часть редизайна онбординга, который уже отменили два месяца назад.

Продуктовый бэклог — верхний уровень

Эпики, идеи, фичи, разбитые по модулям. Уровень детализации минимальный: понятно, что нужно сделать и зачем, но не как именно.

Командный бэклог — следующий уровень

Из продуктового сюда «спускаются» задачи, которые конкретная команда будет делать в обозримом горизонте. Здесь уже появляется декомпозиция: пользовательские истории, задачи, работы.

Спринтовый бэклог — низкоуровневые задачи на две-четыре недели

Бэкенд, фронтенд, конкретные доработки. Важный нюанс: этот уровень не высекается в камне. Суть спринта — достичь цели. Если несколько задач не успели, но цель закрыта, то все нормально.

При этом спринтовый бэклог вообще необязателен. В Kanban достаточно командного — взял задачу, сделал, взял следующую. Спринтовый нужен только там, где работают итерациями.

Схожую логику можно найти в разных методологиях — в SAFe это корпоративный портфель → портфель ART → командный бэклог, в Scrum — Product Backlog → Sprint Backlog. Названия разные, но суть похожая.

Классика жанра:

— Зачем мы делаем эту задачу? 

— Написано же: «улучшить UX». 

— Это к какому эпику? 

— Не привязана. 

— К какому релизу? 

— Тоже нет. 

— Тогда откуда она вообще взялась? 

— Хороший вопрос… 

— Архивируем? 

— Нет, давай оставим. Вдруг важное.

Количество уровней растет вместе с компанией: если один продакт работает с одной командой над одним продуктом, бэклог может быть один. Несколько команд, несколько модулей — трехуровневая структура перестает быть излишеством и становится необходимостью.

SimpleOne SDLC: 145 задач. Все важные. Все срочные.

SimpleOne SDLC: 145 задач. Все важные. Все срочные.

Когда структура понятна, встает следующий вопрос: как именно вести бэклог, чтобы он не превращался в архив снова.

Практика показывает: лучше всего работают два подхода

Ограниченный бэклог

Примерно 20 задач, которые команда хорошо понимает и планово берет в работу. Рядом существует отдельный список идей и гипотез — сырых, без статусов и сроков. Это именно список, а не задачи. Когда бэклог заканчивается, смотришь в идеи и решаешь, что из них стало актуальным. Минус — стейкхолдеры в B2B-продуктах не всегда понимают, что такое «идея без дедлайна», и начинают нервничать.

Единый бэклог, разбитый на модули

Если прозрачность перед заказчиком важнее, продукт делится на направления, каждому — свой бэклог. Фичи и дефекты одного модуля живут рядом, и это само по себе полезно: исправляешь баг попутно с разработкой фичи, не переключаясь между контекстами.

Какой бы подход вы ни выбрали, бэклог все равно нужно периодически пересматривать. И здесь рано или поздно возникает логичный вопрос: а нельзя ли это автоматизировать?

А надо ли автоматизировать груминг?

Груминг бэклога — это процесс его регулярной чистки: убрать устаревшие задачи, пересмотреть приоритеты, заархивировать то, что потеряло смысл. Логичный вопрос: а можно ли это автоматизировать?

С одной стороны — да, заманчиво. Задача не трогалась три года — удалить автоматически, и дело с концом. Но вот в чем сложность: среди этих «трехлетних» задач обязательно окажется несколько по-настоящему ценных, которые просто ждали своего момента. Удалить их по таймеру — потерять контекст, который следующий продакт уже не восстановит.

Есть и другой аргумент против автоматизации: часть дефектов, которые годами лежат в бэклоге, уже исправлена — просто в рамках другой задачи. Никто не закрыл старый тикет. Автоматика это не поймет.

Если бэклог уже сломан — не чините, начните заново

Открываете новый проект, переносите туда только то что реально актуально прямо сейчас. Старое оставляете как архив — поисковик найдёт если понадобится. Это быстрее и честнее чем пытаться разгрести тысячу задач по одной.

Честный ответ звучит неудобно: лучшая автоматизация груминга — это не допускать роста бэклога.

Не создавать задачи «на потом», не фиксировать каждую идею как тикет, держать идеи отдельно — просто списком, без статусов и сроков. Когда пришло время — перевести в задачу. Не пришло — пусть остается гипотезой. Создал задачу «интеграция с GitHub» → прошло четыре года → ввели ограничения для российских пользователей. И что теперь с этой задачей?

Это, конечно, идеальный мир. Но именно так работают команды, у которых бэклог остается управляемым: в реальной работе одновременно в процессе находится 10–15 задач — это уже немало. Добавлять к ним хвост из 400 «важных, просто не сейчас» — значит размывать фокус у всей команды.

Резюме

Бэклог превращается в свалку не потому что команда ленится — а потому что нет культуры его ограничения. Фреймворки приоритизации вроде RICE и WSJF логичны, но дорого стоят в поддержке и редко приживаются надолго. Трехуровневая структура — продуктовый, командный, спринтовый — помогает не терять связь между стратегией и конкретной задачей. А лучший груминг — это тот, который не нужен: не давать бэклогу расти, держать идеи отдельно от задач, работать с тем, что действительно актуально прямо сейчас. 

Бэклог — это не список всего что можно сделать. Это список того что вы реально собираетесь сделать. Разница небольшая, но именно она отделяет рабочий инструмент от архива.

***

А как у вас устроен бэклог? Используете какой-то фреймворк приоритизации — или в итоге все равно расставляете руками?

Автор: SimpleOne_it

Источник

Оставить комментарий