Открыть сервис

Бэклог

Бэклог (от англ. backlog — «журнал невыполненных работ», «накопившиеся заказы») — в проектном управлении и разработке программного обеспечения упорядоченный список требований к функциональности, задач, улучшений, исправлений ошибок и других работ, необходимых для создания или развития продукта. Бэклог является ключевым артефактом гибких методологий (Agile), в частности Scrum и Kanban, и служит единым источником требований для команды. Он представляет собой динамический документ, который постоянно уточняется и переприоритезируется на протяжении всего жизненного цикла продукта.

История возникновения

Термин «бэклог» в контексте управления разработкой получил широкое распространение в начале 2000-х годов с популяризацией гибких методологий. В 2001 году был опубликован «Манифест Agile», который провозгласил приоритет работающего продукта над исчерпывающей документацией и реагирования на изменения над следованием плану. В ответ на потребность в гибком управлении требованиями Кен Швабер и Джефф Сазерленд, создатели Scrum, формализовали понятие бэклога продукта (Product Backlog) как одного из центральных элементов фреймворка.

До появления Agile в традиционных («водопадных») моделях разработки существовал аналог — спецификация требований (SRS), которая фиксировалась в начале проекта и редко изменялась. Бэклог, напротив, предполагает постоянное обновление и адаптацию к меняющимся условиям рынка и обратной связи от пользователей.

Классификация бэклогов

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

Бэклог продукта (Product Backlog)

Это полный, неотсортированный список всего, что может потребоваться для создания или улучшения продукта. Он ведётся владельцем продукта (Product Owner) и содержит элементы (бэклог-айтемы), которые могут быть:

  • пользовательскими историями (User Stories);
  • техническими задачами (Spikes);
  • исправлениями ошибок (Bugs);
  • требованиями к нефункциональным характеристикам (NFR).

Каждый элемент бэклога продукта имеет описание, приоритет, оценку трудозатрат и статус. Бэклог продукта никогда не бывает завершённым — он существует, пока существует продукт.

Бэклог спринта (Sprint Backlog)

Это подмножество бэклога продукта, которое команда берёт в работу на текущий спринт (итерацию, обычно 1–4 недели). Бэклог спринта создаётся в ходе планирования спринта (Sprint Planning) и содержит конкретные задачи, которые команда обязуется выполнить. Он также может включать задачи, выявленные в ходе спринта (например, рефакторинг кода), и является собственностью команды разработки.

Бэклог релиза (Release Backlog)

В некоторых методологиях выделяют бэклог релиза — список элементов, которые должны быть реализованы для выпуска конкретной версии продукта. Он формируется на основе бэклога продукта и фиксирует объём работ, необходимый для достижения целей релиза.

Характеристики бэклога

Упорядоченность

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

Детализация

Элементы бэклога имеют разную степень детализации. Задачи, запланированные на ближайшие спринты, прорабатываются подробно (до уровня конкретных пользовательских историй с критериями приёмки). Задачи, отнесённые к дальним спринтам, могут быть описаны в виде общих эпиков (Epic) — крупных блоков функциональности.

Оценка

Каждый элемент бэклога может быть оценён командой в относительных единицах трудозатрат (story points, идеальные часы). Оценка позволяет прогнозировать скорость команды (velocity) и планировать спринты.

Прозрачность

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

Управление бэклогом

Уточнение бэклога (Backlog Refinement / Grooming)

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

  • удаление устаревших или неактуальных задач;
  • разбиение крупных элементов (эпиков) на более мелкие;
  • добавление новых требований;
  • переоценка трудозатрат;
  • установление приоритетов.

В Scrum уточнение бэклога обычно занимает не более 10% времени спринта.

Приоритизация

Основные методы приоритизации, используемые при работе с бэклогом:

  • MoSCoW (Must have, Should have, Could have, Won't have) — разделение задач на обязательные, желательные, возможные и отложенные.
  • Kano modelклассификация функций по степени удовлетворения пользователя (базовые, линейные, привлекающие).
  • Weighted Shortest Job First (WSJF) — метод, используемый в SAFe (Scaled Agile Framework), основанный на отношении ценности к длительности.

Оценка трудозатрат

Для оценки элементов бэклога часто применяются техники:

  • Planning Poker — коллективная оценка с использованием карт с числами Фибоначчи (1, 2, 3, 5, 8, 13, 21…).
  • T-shirt sizing — оценка в относительных категориях (S, M, L, XL).
  • Affinity Estimation — группировка задач по схожести трудозатрат.

Применение в различных методологиях

Scrum

В Scrum бэклог продукта является единственным источником требований. Владелец продукта отвечает за его содержание и приоритеты. На планировании спринта команда выбирает элементы из верхней части бэклога и формирует бэклог спринта. В конце спринта проводится обзор (Sprint Review), на котором демонстрируются результаты, и бэклог продукта может быть скорректирован.

Kanban

В Kanban бэклог часто представлен в виде колонки на доске задач (Kanban board). Задачи из бэклога поступают в работу по мере освобождения ресурсов. В отличие от Scrum, в Kanban нет фиксированных итераций, и бэклог может пополняться в любой момент.

SAFe (Scaled Agile Framework)

В масштабированном Agile бэклоги существуют на нескольких уровнях: портфельный (Portfolio Backlog), программный (Program Backlog) и командный (Team Backlog). Каждый уровень имеет свои элементы и ответственных (например, Epic Owner для портфельного бэклога).

Инструменты для ведения бэклога

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

  • Jira (компания Atlassian) — один из лидеров рынка, поддерживает Scrum, Kanban, SAFe.
  • Trello — простая канбан-доска для небольших команд.
  • Asana — инструмент для управления проектами с возможностью настройки бэклогов.
  • Azure DevOps — платформа от Microsoft, интегрированная с системой контроля версий.
  • GitHub Projects — встроенный инструмент для управления задачами в репозиториях GitHub.

Критика и ограничения

Несмотря на широкое распространение, концепция бэклога имеет ряд критических замечаний:

  • Раздувание бэклога — со временем бэклог может накапливать большое количество неактуальных или низкоприоритетных задач, что затрудняет его использование. Требуется регулярная «чистка».
  • Иллюзия контроля — постоянное изменение приоритетов и добавление новых задач может создавать ложное ощущение управляемости, но на практике ведёт к хаосу.
  • Сложность оценки — оценка трудозатрат для элементов бэклога часто бывает неточной, особенно для крупных или слабо определённых задач.
  • Зависимость от владельца продукта — качество бэклога напрямую зависит от компетентности владельца продукта. Неправильная приоритизация может привести к созданию ненужного функционала.

Альтернативы

В некоторых подходах к управлению проектами бэклог не используется или заменяется другими методами:

  • Waterfall — вместо бэклога применяется детальная спецификация требований, утверждённая на старте.
  • Shape Up (методология от Basecamp) — вместо бэклога используется «питч» (pitch) — краткое описание проблемы и решения, которое обсуждается перед началом шестинедельного цикла.
  • Lean Startup — акцент делается на быстром создании минимально жизнеспособного продукта (MVP) и итеративном тестировании гипотез, а не на ведении большого списка задач.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →