Бэклог: ликбез
Что такое бэклог
Если не вдаваться в подробности, то бэклог — список всех задач и хотелок в порядке приоритета, которые планируется выполнить. Элементы списка гибкие: их можно менять, выбрасывать или добавлять новые по ходу дела. За это бэклоги любят противники толстых неповоротливых и формальных технических заданий.
Что о бэклоге говорит руководство по Скраму
Бэклог продукта — это упорядоченный список всего, что может понадобиться в продукте, и единственный источник требований для любого вида изменений продукта. Бэклог никогда не бывает полным: изначально он содержит базовые и самые понятные требования. С обновлением и развитием продукта, а также условий рынка и технологий бэклог меняется и становится более объёмным и исчерпывающим.
Бэклог спринта — набор элементов из бэклога продукта для исполнения в текущем спринте. Обычно включает хотя бы одну задачу из ретроспективы предыдущего спринта, план разработки очередной версии продукта и план достижения цели спринта.
Какое-то время бэклоги действительно были присущи только командам разработки, но этот простой и чёткий инструмент может пригодиться вообще в любой сфере: от списка обращений с предложениями в техподдержку до списков дел, которые нужно выполнить за конкретный промежуток времени (привет, планирование!). В продуктовых историях может быть даже отдельный бэклог для гипотез, если их много и важно проработать каждую и упорядочить их по приоритетам.
Из чего состоит бэклог
Развернутое описание задач и хотелок
Идеальный бэклог — тот, где по каждой строке однозначно ясно, что нужно делать. Из краткого описания хотелки не всегда можно уловить весь контекст, поэтому чем выше приоритет у задачи, тем подробнее должно быть её описание.
Может измеряться в часах, но чаще — в условных единицах, Story Point-ах: за 1 балл принимается самая простая задача из списка, а остальные оцениваются относительно неё.
Тип элемента
Задачи в бэклог могут добавляться по разным причинам: иногда это идеи и гипотезы, которые стоит проверить, иногда — обратная связь от пользователей, иногда — технические штуки, которые требуют доработок. Поэтому всегда неплохо сортировать их по типу с помощью условного форматирования, например.
Инициатор или хозяин задачи
Бэклог продукта — длительно развивающийся организм, который со временем только прирастает в объёме. Поэтому спустя 2−3 месяца довольно сложно бывает вспомнить, кто, когда и зачем предложил перекрасить кнопку в другой цвет, убрать из формы поле с описанием или прикрутить ещё один тип доставки. Такая колонка — как раз в помощь. Можно пойти ещё дальше и указывать дату добавления в бэклог и конкретного исполнителя задачи, но помните: чем больше колонок, тем сложнее содержать бэклог актуальным.
Колонка, опять же, пригодится для быстрой фильтрации, а ещё — для выборки задач на текущий спринт и для отслеживания прогрессов.
Мы пробовали вести бэклоги в разных системах, но пока остановились на простом табличном формате в GoogleDoc. Причина простая: таблицы очень быстрые. Нет лишних наворотов в интерфейсе, нет долгой обработки запросов. Поиск, сортировка, фильтры и математические формулы для приоритизации — то, что нам нужно. В этом бэклоге у задач разная степень детализации: это могут быть небольшие конкретные задачи и огромные фичи. Для каждой указывается тип, платформа и область, к которой задача относится. Для приоритизации используем технику ICE.
Если говорить о бэклоге спринта — то это уже максимально декомпозированные и конкретные задачи. Раньше для этого мы пользовались JIRA, но интерфейс Scrumban оказался удобнее с точки зрения работы с вложенностью задач и значительно шустрее.
Бэклог в заказной разработке — другая история. Обычно это декомпозиция задач, которая нужна нам для того, чтобы сделать проект по ТЗ. ТЗ, макеты, протоколы интеграции с заказчиком согласовываются, а бэклог из задач в этом случае — наша внутренняя кухня, которая не транслируется наружу. При работе по Time&Material процесс строится иначе, там не будет детального разжеванного ТЗ, только бэклог. И в этом случае он согласовывается с заказчиком.
Кто пишет бэклог
Добавлять хотелки в бэклог могут все заинтересованные в проекте лица, но за приоритеты задач отвечает всегда только Владелец продукта. Он же отвечает за периодический пересмотр бэклога, когда нужно выкинуть лишнее и устаревшее, обновить приоритеты или улучшить формулировки.
Какими бывают бэклоги
Бэклог как Customer Journey Map
Суть в том, чтобы строить бэклог вокруг пути пользователя — насколько продукт приближает его к достижению конкретных задач и целей. Такой подход даёт более целостное представление о том, как каждый элемент бэклога отвечает за выполнение пользовательской работы согласно теории JTBD.
- авторизация и вход в учетную запись (с сохранением данных, чтобы не вводить их заново);
- просмотр и подтверждение заказа до оплаты;
- оформление доставки и её варианты;
- оплата картой или платежной системой;
- письмо и/или sms с подтверждением заказа.
А если он хочет искать товар на сайте, то был бы рад, если там будет:
- поиск по наименованию;
- поиск по цвету;
- поиск по цене;
- поиск в конкретной группе товаров.
- возможность отклонять заказы на сумму менее N рублей, потому что они невыгодны;
- возможность отказать покупателям за пределами РФ, потому что расходы на доставку делают эти заказы невыгодными;
- резервирование заказанных товаров на складе на 48 часов, чтобы другие покупатели видели реальные остатки в карточке товара;
- автоматическая отмена заказов, за которые не пришла оплата в течение 48 часов.
Или, например, сайт, где публикуются статьи — для разных ролей будут разные сценарии и разные задачи для реализации:
- клиенты хотят читать статьи, чтобы быть в курсе важных событий — нужны удобные фичи для поиска, закладок и комментирования;
- журналисты хотят писать статьи, чтобы их могли читать — нужен удобный инструмент для верстки статей;
- редактор хочет просмотреть статью перед публикацией и проверить её на опечатки — нужен режим предпросмотра;
- администратор хочет удалять статьи с сайта, чтобы бороться с оскорбительным контентом — нужен функционал в админ-панели для этого.
Работая с пользовательскими историями, есть соблазн расписать их до уровня технических деталей. Но тогда теряется контекст и происходит дублирование:
- «Как пользователь, я хочу, чтобы серверная часть делала то-то и то-то»;
- «Как пользователь, я хочу интерфейс, который делает то же самое».
Хорошая пользовательская история должна приносить пользу конечному пользователю и затрагивать весь стек технологий (или такой его объём, чтобы функционал был рабочим). Истории, распотрошенные на технические детали, не представляют никакой ценности для пользователей: так, например, веб-интерфейс для них бесполезен, пока не соединен с базой данных.
Бэклог как воронка идей
Хороший вариант, если нужно визуализировать бэклог и физически ограничить количество его элементов. Подход поможет расставить приоритеты и сфокусироваться, с ним легко достичь гибкости без лишней формальной структуры.
Всё, что нужно — два поля:
- в левое отправляются все хотелки, которые нужно отсортировать по параметрам («сейчас, следом, скоро, позже» или «хорошо бы сделать, важно сделать, обязательно сделать»);
- в правом поле — три колонки по типу доски канбана: список дел, в процессе, уже сделано.
Бэклог возможностей
Бэклог, основанный на типах (или классах) работ
Древовидный бэклог
Бэклог как карта влияния (Impact Mapping)
Бэклог в виде карты влияния поможет визуализировать и продумать множество альтернативных путей пользователя, ведущих к конкретному результату. Но такой формат вряд ли справится с отображением в бэклоге технического долга или списка проблем в продукте для устранения.
Круговой бэклог
Бэклог в виде воронки конверсии
Такой тип бэклога подойдёт продуктам как на ранней стадии развития, так и более зрелым, поскольку держит в фокусе самые ключевые факторы, которые влияют на отклик пользователей — гадать над тем, что им важнее, здесь не приходится.
Автоматизация бэклогов в Сибирикс
Так мы написали интеграцию Гугл-документов и Scrumban, которую обкатали на отдельно написанном небольшом ТЗ: в нём я выкинула всё лишнее и перекомпоновала описания так, чтобы те сразу превращались в реальные задачи в Scrumban, уже декомпозированные для разработчиков. Теперь ни менеджеру, ни аналитику не приходится перед началом спринта составлять отдельный бэклог из ТЗ.
В идеале мы хотим получить такую структуру ТЗ, которая легко трансформируется в бэклог на доске Scrumban просто нажатием кнопки импорта в гугл-документе. Сейчас обкатываем эту историю на нескольких проектах. Про очень масштабные — пока непонятно, насколько жизнеспособно, но для небольших проектов или спринтов с доработками — работает отлично!
Что такое груминг бэклога и зачем он нужен
Признаки, что бэклог пора пересмотреть
Можете собрать статистику вручную, а можете использовать встроенные инструменты в Jira или Trello. Установите пороговые значения, когда количество задач станет для вас избыточным, и отслеживайте регулярно. Порог превышен — пора навести красоту.
2. Большой средний возраст задач
Его можно отследить только, если фиксировать у каждого элемента изначально. В той же Jira есть инструмент статистики для отслеживания этого параметра. Причин устаревания задач может быть несколько:
- слишком много проблем по текущим элементам с наивысшим приоритетом;
- в целом слишком большой объём элементов;
- элемент на самом деле не ценный и не существенный, но выбросить пока жалко.
3. Элементы в работе спорят с долгосрочными целями
Если не иметь взгляда «сверху», то легко застрять на выполнении задач, которые важны, но не глобально — из-за этого общий прогресс по бэклогу будет мизерным. Чтобы такого избежать, стоит классифицировать уже отработанные элементы бэклога за последние 120 дней, и посмотреть, насколько равномерно распределялась нагрузка. Категории могут быть такими:
- рост выручки;
- пользовательский опыт;
- вовлечение пользователей;
- технический долг;
- исправление багов;
- техподдержка и прочее.
Если потрудиться и составить диаграмму на основе этих категорий, то можно запросто оценить, на что тратится большая часть времени команды и как это соотносится со стратегией развития продукта.
Что включает груминг
Частая проблема — слишком большие элементы бэклога: если таких в спринте будет несколько, то даже выход за рамки отведенного времени по одному из них срывает сроки всего спринта. А если таких сложностей будет несколько? Груминг спешит на помощь: если грамотно разделить элемент на более мелкие, шансы на успех выше. Но вообще-то, конечно, это — первоочередная задача декомпозиции.
Удаление неактуальных элементов
Элементы бэклога могут устаревать по разным причинам:
- сменилось направление развития продукта;
- проблему уже исправили в рамках другой проблемы, случайно или намеренно;
- элемент устареет из-за другой функции, над которой планируется работать в ближайшем будущем;
- элемент уже не жизнеспособен из-за архитектурных изменений — тогда его нужно либо полностью переработать, либо удалить к чертовой матери;
- новые знания о пользователях, рынке или продукте говорят, что элемент на самом деле не решит проблему, ради которой его добавили в бэклог.
Есть мнение, что огромный бэклог продукта — признак слабости его владельца. Поэтому, сокращая список элементов, вы фактически боретесь с двумя видами производственных потерь:
- потерями из-за перепроизводства: планируем сделать гораздо больше, чем нужно — не проще ли делать то, что актуально прямо сейчас?
- потерями из-за запасов: лишние элементы в огромном бэклоге мешают сосредоточиться на самых важных вещах.
Чтобы навсегда распрощаться с элементом в бэклоге, задайте себе эти три вопроса:
Беспощадно избавляйтесь от всего, что:
- добавляет ненужные обязательства, ограничения или зависимости;
- добавляет ненужную сложность и раздувает функционал;
- дублирует предыдущие идеи и задачи полностью или частично (стоит объединить с уже существующим или дополнить его);
- устарело на данный момент;
- вызывает сложности с интерпретацией или пониманием гипотез;
- не отражает проблему, которую нужно решить.
Базовый принцип при составлении — пользоваться здравым смыслом и каждый раз думать о тех, кто будет выполнять задачи по этому бэклогу и о тех, кто в итоге будет пользоваться получившимся продуктом.
Добавление новых элементов
Новые элементы могут добавляться в ответ на изменение бизнес-среды или рынка, появление нового видения продукта или новых комментариев от пользователей. А могут — потому что команда способна отработать больше элементов за спринт, чем предполагалось изначально. Если скорость работы — 20 элементов за спринт, то в бэклоге их должно быть хотя бы вдвое больше — чтобы было, из чего выбирать.
Переоценка приоритетов или корректировка оценок
Новые элементы могут быть важнее тех, что были самыми важными до этого. А оценки могут меняться из-за добавления новых задач в бэклог — поэтому придётся пересмотреть их у каждой задачи.
Также груминг бэклога может включать:
- уточнения по элементам, с которыми будут работать в ближайшее время;
- конкретизацию элементов с высоким приоритетом;
- редактирование или усиление существующих элементов;
- оценку элементов (если её ещё нет);
- группировку элементов по смыслу и создание подзадач.
Когда нужен груминг и сколько времени на него выделить
Если груминг вошёл в привычку, потребуется не больше 1,5 часов для 4-недельных спринтов (если ваши спринты короче — справитесь ещё быстрее). Но если груминг проводится впервые за несколько месяцев, готовьтесь выделить гораздо больше времени.