Пользовательские истории простыми словами — формат «Как / я хочу / чтобы», INVEST, критерии приёмки — и планирование итерации, которое часто называют планированием спринта, с velocity в East Agile Tracker.
Пользовательская история (user story) — это краткое описание того, что нужно пользователю, написанное с его точки зрения. Планирование итерации — это способ, которым команда решает, над какими историями будет работать в следующей временной рамке. Многие команды называют эту рамку спринтом, а встречу — планированием спринта (sprint planning); East Agile Tracker называет их итерациями и планированием итерации.
Что такое пользовательская история
Заголовок раздела «Что такое пользовательская история»Распространённый шаблон:
Как [тип пользователя], я хочу [некую возможность], чтобы [некая польза].
Например: Как менеджер проекта, я хочу видеть, какие истории заблокированы, чтобы разблокировать их до конца итерации.
Шаблон называет, кто получает пользу, что ему нужно и зачем. Это «зачем» позволяет команде найти более простой способ дать ту же пользу. История — это повод для разговора, а не полная спецификация: детали прорабатывают между собой те, кто просит, и те, кто создаёт.
INVEST: готова ли история?
Заголовок раздела «INVEST: готова ли история?»INVEST — это чек-лист для хорошо сформулированной истории:
- Independent (независимая) — её можно создать и поставить отдельно.
- Negotiable (обсуждаемая) — детали открыты для обсуждения.
- Valuable (ценная) — поставляет что-то важное для пользователя или клиента.
- Estimable (оцениваемая) — команда понимает её достаточно, чтобы оценить размер.
- Small (небольшая) — свободно помещается в одну итерацию.
- Testable (тестируемая) — есть ясный способ определить, что она завершена.
Критерии приёмки
Заголовок раздела «Критерии приёмки»Критерии приёмки определяют, что должно быть верно, чтобы история считалась завершённой. Если записать их в форме Given / When / Then, каждый становится приёмочным тестом:
Given история с неразрешённым блокером, when я открываю колонку Blocked, then история отображается в ней.
Критерии согласуют до начала работы, поэтому команда и человек, принимающий историю, разделяют одно определение готовности.
Планирование итерации
Заголовок раздела «Планирование итерации»Планирование итерации отвечает на один вопрос: над чем мы будем работать в этой итерации? Для него нужны три вида входных данных:
- Упорядоченный бэклог — истории, выстроенные по приоритету, причём верхние уже готовы (соответствуют INVEST и имеют критерии приёмки).
- Оценки — каждая история-кандидат оценена в стори-поинтах.
- Velocity — сколько баллов команда завершает за итерацию. См. Что такое velocity?.
Команда берёт истории с верха бэклога, пока сумма не достигнет её velocity. Взять больше — значит рассчитывать, что команда вдруг начнёт работать быстрее; взять меньше — оставить ёмкость неиспользованной.
Как это устроено в East Agile Tracker
Заголовок раздела «Как это устроено в East Agile Tracker»- Истории бывают четырёх типов: фичи, баги, рутинные задачи и релизы. По умолчанию баллы принимают только фичи. См. Истории.
- Критерии приёмки записывают в описание. Отдельного поля нет; критерии должны быть в описании до того, как историю начали. Когда история доставлена, владелец продукта принимает или отклоняет её по этим критериям. См. конечный автомат состояний и цикл приёмки.
- Backlog — это один строго упорядоченный список, который проецирует предстоящие итерации на основе velocity, на три-четыре вперёд, и помечает каждую группу, превышающую velocity. См. Итерации.
- Планирование итерации в основном автоматическое. При включённой настройке auto-plan iterations (по умолчанию) текущая итерация заполняется до вашей velocity; добавление новой истории перемещает историю с самым низким приоритетом обратно на верх Backlog. Команды, которые в стиле Scrum берут обязательство на фиксированный объём, могут выключить автопланирование и планировать сколько угодно, а счётчик краснеет, когда velocity превышена. См. Планирование итерации.
- Создание истории открывает редактор для заголовка, описания, типа, оценки и владельцев. См. Создание истории.
Дополнительное чтение
Заголовок раздела «Дополнительное чтение»- Что такое стори-поинты? — оценка размера историй.
- Что такое velocity? — сторона планирования, связанная с ёмкостью.
- eXtreme Programming — откуда пришли пользовательские истории и игра в планирование.