Перейти до вмісту

Користувацькі історії та планування ітерації

Користувацькі історії пояснено — формат «Як / я хочу / щоб», INVEST, критерії прийняття — а також планування ітерації, яке часто називають плануванням спринту, зі швидкістю в East Agile Tracker.

Користувацька історія (user story) — це короткий опис того, що потрібно користувачеві, написаний з його точки зору. Планування ітерації — це спосіб, у який команда вирішує, над якими історіями працюватиме в наступній часовій рамці. Багато команд називають цю рамку спринтом, а зустріч — плануванням спринту (sprint planning); East Agile Tracker називає їх ітераціями та плануванням ітерації.

Що таке користувацька історія

Section titled “Що таке користувацька історія”

Поширений шаблон:

Як [тип користувача], я хочу [певну можливість], щоб [певна користь].

Наприклад: Як менеджер проєкту, я хочу бачити, які історії заблоковані, щоб розблокувати їх до кінця ітерації.

Шаблон називає, хто отримує користь, що йому потрібно і навіщо. Це «навіщо» дає команді змогу знайти простіший спосіб забезпечити ту саму користь. Історія — це запрошення до розмови, а не повна специфікація: деталі опрацьовують між собою ті, хто просить, і ті, хто створює.

INVEST — це чекліст для добре сформульованої історії:

  • Independent (незалежна) — її можна створити й постачити окремо.
  • Negotiable (обговорювана) — деталі відкриті для обговорення.
  • Valuable (цінна) — постачає щось важливе для користувача чи клієнта.
  • Estimable (оцінювана) — команда розуміє її достатньо, щоб оцінити розмір.
  • Small (невелика) — вільно вміщується в одну ітерацію.
  • Testable (тестована) — є чіткий спосіб визначити, що її завершено.

Критерії прийняття визначають, що має бути істинним, щоб історія вважалася завершеною. Якщо записати їх у формі Given / When / Then, кожен стає приймальним тестом:

Given історія з невирішеним блокером, when я відкриваю колонку Blocked, then історія там відображається.

Критерії погоджують до початку роботи, тож команда й людина, яка приймає історію, мають однакове визначення завершеності.

Планування ітерації відповідає на одне запитання: над чим ми працюватимемо в цій ітерації? Для нього потрібні три вхідні дані:

  1. Упорядкований беклог — історії, розташовані за пріоритетом, причому верхні вже готові (відповідають INVEST і мають критерії прийняття).
  2. Оцінки — кожна історія-кандидат оцінена в стор-поінтах.
  3. Швидкість — скільки балів команда завершує за ітерацію. Дивіться Що таке velocity?.

Команда бере історії з верху беклогу, доки сума не досягне її швидкості. Узяти більше — означає розраховувати, що команда раптом почне працювати швидше; узяти менше — залишити місткість невикористаною.

  • Історії бувають чотирьох типів: функції, баги, рутина та релізи. За замовчуванням бали приймають лише функції. Дивіться Історії.
  • Критерії прийняття записують в опис. Окремого поля немає; критерії мають бути в описі ще до початку історії. Коли історію доставлено, власник продукту приймає або відхиляє її відповідно до цих критеріїв. Дивіться скінченний автомат станів і цикл прийняття.
  • Backlog — це один суворо впорядкований список, який прогнозує наступні ітерації на основі швидкості, на три–чотири вперед, і позначає кожну групу, що перевищує швидкість. Дивіться Ітерації.
  • Планування ітерації здебільшого автоматичне. Коли ввімкнено auto-plan iterations (за замовчуванням), поточна ітерація заповнюється до вашої швидкості; додавання нової історії переміщує історію з найнижчим пріоритетом назад на верх Backlog. Команди, які в стилі Scrum зобов’язуються виконати фіксований обсяг, можуть вимкнути автопланування й планувати скільки завгодно, а лічильник стає червоним, коли перевищено швидкість. Дивіться Планування ітерації.
  • Створення історії відкриває редактор для заголовка, опису, типу, оцінки та власників. Дивіться Створення історії.