Przejdź do głównej zawartości

Historyjki użytkownika i planowanie iteracji

Historyjki użytkownika wyjaśnione — format Jako / chcę / aby, INVEST, kryteria akceptacji — oraz planowanie iteracji, często nazywane planowaniem sprintu, z użyciem prędkości w East Agile Tracker.

Historyjka użytkownika (user story) to krótki opis czegoś, czego potrzebuje użytkownik, napisany z jego perspektywy. Planowanie iteracji to sposób, w jaki zespół decyduje, nad którymi historiami będzie pracować w następnej ramie czasowej. Wiele zespołów nazywa tę ramę sprintem, a spotkanie planowaniem sprintu (sprint planning); East Agile Tracker nazywa je iteracjami i planowaniem iteracji.

Typowy szablon brzmi:

Jako [rodzaj użytkownika] chcę [jakaś możliwość], aby [jakaś korzyść].

Na przykład: Jako kierownik projektu chcę widzieć, które historie są zablokowane, aby móc je odblokować przed końcem iteracji.

Szablon określa, kto zyskuje, czego potrzebuje i dlaczego. To „dlaczego” pozwala zespołowi znaleźć prostszy sposób na dostarczenie tej samej korzyści. Historia jest zaproszeniem do rozmowy, a nie pełną specyfikacją: szczegóły ustalają między sobą osoby zgłaszające potrzebę i osoby, które ją realizują.

INVEST to lista kontrolna dobrze sformułowanej historii:

  • Independent (niezależna) — można ją zbudować i dostarczyć samodzielnie.
  • Negotiable (negocjowalna) — szczegóły są otwarte na dyskusję.
  • Valuable (wartościowa) — dostarcza coś, na czym zależy użytkownikowi lub klientowi.
  • Estimable (estymowalna) — zespół rozumie ją na tyle, by oszacować jej rozmiar.
  • Small (mała) — swobodnie mieści się w jednej iteracji.
  • Testable (testowalna) — istnieje jasny sposób, by stwierdzić, że jest gotowa.

Kryteria akceptacji określają, co musi być prawdą, aby historia liczyła się jako ukończona. Zapisanie ich w formie Given / When / Then zamienia każde z nich w test akceptacyjny:

Given historia z nierozwiązanym blokerem, when otwieram kolumnę Blocked, then historia jest tam wyświetlona.

Kryteria uzgadnia się przed rozpoczęciem pracy, więc zespół i osoba akceptująca historię mają tę samą definicję ukończenia.

Planowanie iteracji odpowiada na jedno pytanie: nad czym będziemy pracować w tej iteracji? Potrzebuje trzech danych wejściowych:

  1. Uporządkowany backlog — historie ułożone według priorytetu, z gotowymi historiami na górze (spełniającymi INVEST, z kryteriami akceptacji).
  2. Estymacje — każda kandydująca historia oszacowana w story pointach.
  3. Prędkość — ile punktów zespół kończy w iteracji. Zobacz Czym jest velocity?.

Zespół bierze historie z góry backlogu, aż suma osiągnie jego prędkość. Wzięcie więcej zakłada, że zespół nagle zacznie pracować szybciej; wzięcie mniej zostawia niewykorzystaną przepustowość.

  • Historie mają cztery typy: features, bugs, chores i releases. Domyślnie punkty przyjmują tylko features. Zobacz Historie.
  • Kryteria akceptacji trafiają do opisu. Nie ma osobnego pola; kryteria należą do opisu, zanim historia zostanie rozpoczęta. Gdy historia zostanie dostarczona, właściciel produktu akceptuje ją lub odrzuca względem tych kryteriów. Zobacz maszynę stanów i pętlę akceptacji.
  • Backlog to jedna ściśle uporządkowana lista, która prognozuje nadchodzące iteracje na podstawie prędkości, trzy lub cztery do przodu, i oznacza każdą grupę przekraczającą prędkość. Zobacz Iteracje.
  • Planowanie iteracji jest w dużej mierze automatyczne. Przy włączonym auto-plan iterations (domyślnie) bieżąca iteracja wypełnia się do Twojej prędkości; dociągnięcie nowej historii przenosi historię o najniższym priorytecie z powrotem na szczyt Backlogu. Zespoły, które w stylu Scruma zobowiązują się do stałego zakresu, mogą wyłączyć auto-plan i planować, ile chcą, z licznikiem, który powyżej prędkości zmienia kolor na czerwony. Zobacz Planowanie iteracji.
  • Tworzenie historii otwiera edytor na tytuł, opis, typ, estymację i właścicieli. Zobacz Tworzenie historii.