Szablon opisu użytkownika składa się z jednego zdania zawierającego trzy miejsca na uzupełnienie:

Jako [stanowisko] pragnę osiągnąć [cel], aby uzyskać [korzyść].

Proszę to skopiować i wykorzystać, ale należy pamiętać, do czego służy: szablon ten stanowi punkt wyjścia do rozmowy, a nie formularz do wypełnienia. Wypełnione zdanie stanowi punkt początkowy procesu dopracowywania. To, co sprawia, że opowieść staje się wykonalna, to elementy dodawane w dalszej kolejności: kryteria akceptacji, które przekształcają uzgodniony zamysł w test typu „zaliczony/niezaliczony”, oraz oszacowanie, które pozwala przekształcić go w zadanie możliwe do zaplanowania. W niniejszym rozdziale przedstawiono jedną opowieść, która przechodzi przez wszystkie trzy etapy.

Wypełnianie luk bez zmyślania odpowiedzi

Każdy gniazdo charakteryzuje się typową usterką, a każdą z tych usterek można sprawdzić:

  • [rola]: konkretna osoba, a nie „użytkownik”. Jeśli nie potrafiliby Państwo zidentyfikować tej osoby na podstawie danych analitycznych lub zgłoszeń do działu wsparcia, rola ta jest jedynie elementem dekoracyjnym. Test: czy projektant mógłby podjąć inną decyzję ze względu na wybraną przez Państwa rolę?
  • [cel]: to, co dana osoba robi, wyrażone jej własnymi słowami. Sformułowanie „Chcę zresetować hasło” odnosi się do użytkownika; sformułowanie „Potrzebuję mikrousługi do resetowania hasła” odnosi się do schematu architektury. Test: czy dana osoba rzeczywiście wypowiedziałaby to zdanie?
  • [korzyść]: argument przemawiający za zaplanowaniem zadania. Test: proszę usunąć tę klauzulę. Jeśli nic nie zostanie utracone, oznacza to, że korzyść nie została jeszcze zidentyfikowana.

Pełne uzasadnienie tego formatu (w tym trzy zasady „C” oraz lista kontrolna INVEST, którą powinna spełniać gotowa historia użytkownika) znajduje się w artykule Czym jest historia użytkownika?. Szesnaście praktycznych przykładów, zarówno dobrych, jak i złych, można znaleźć w artykule Przykłady historii użytkownika.

Karta zadania typu „kopiuj-wklej”

Samo zdanie nie wystarczy, aby przystąpić do sprintu. Oto pełny szablon karty, który warto przyjąć jako standard, zawierający opis, kryteria, granice oraz rozmiar dodany na końcu:

Story
  As a [role], I want [goal], so that [benefit].

Acceptance criteria (3–5, each pass/fail)
  - [ ] …
  - [ ] …
  - [ ] …

Out of scope
  - What this story deliberately does NOT cover.

Notes & dependencies
  - Designs, decisions, other teams, open questions.

Size: [added by the team, after the conversation — never before]

W tej karcie zawarto dwa świadome wybory. „Poza zakresem” ma kluczowe znaczenie: większość sporów dotyczących szacowania wynika z tego, że dwie osoby oceniają różne zakresy, a jedno zdanie w tym miejscu pozwala im tego uniknąć. Wielkość podaje się na końcu: liczba zapisana na karcie, zanim zespół ją omówi, staje się punktem odniesienia, co stanowi pierwszy z klasycznych błędów w planowaniu pokerowym.

Warianty szablonów

Klasyczny szablon jest właściwym ustawieniem domyślnym, ale nie jest to jedyny kształt, który się sprawdza.

WariantKształtProszę sięgnąć po to, gdy
Classic (Connextra)Jako [stanowisko] pragnę [cel], aby [korzyść]Domyślne ustawienia dotyczące zadań wykonywanych przez użytkowników
Opis stanowiskaKiedy [sytuacja], pragnę [motywacja], aby móc [rezultat]To właśnie moment decydujący wyjaśnia więcej niż sama osobowość (ta sama osoba w pociągu pragnie czegoś innego niż siedząc przy biurku)
Najpierw korzyściAby [osiągnąć korzyść], jako [stanowisko], pragnę [cel]Zespół wciąż formułuje korzyści w sposób cykliczny; umieszczenie tej klauzuli na początku uniemożliwia jej pominięcie
Proste sformułowanie problemuJedno zdanie opisujące problem, jedno opisujące wynik oraz kryteria określające, „kiedy zadanie zostanie wykonane”Prace związane z platformą i kwestie techniczne, w których jedyną wiarygodną osobą byłby sam zespół

Ostatni wiersz ma większe znaczenie, niż mogłoby się wydawać. Niektóre pozycje z listy zadań nie zawierają w zdaniu odniesienia do użytkownika, a udawanie, że jest inaczej, prowadzi do tworzenia wypełniaczy w stylu: „jako programista chcę, aby framework został zaktualizowany”. Dyscyplina wynikająca z szablonu (określony powód oraz kryteria, które można zweryfikować) przenosi się na tę pracę; forma zdania nie musi być jednak taka sama.

Kryteria akceptacji: potwierdzenie na karcie

Kryteria akceptacji to warunki zaliczenia lub odrzucenia opisu zadania, określone przed rozpoczęciem prac. Na karcie pełnią one dwie funkcje: odzwierciedlają rzeczywisty wynik rozmowy dotyczącej doprecyzowania opisu zadania oraz wyznaczają cel, do którego będzie dążyć oszacowanie nakładu pracy. Dwa formaty obejmują niemal każdy opis zadania:

Prosta lista kontrolna dotycząca warunków niezależnych:

  • Zawartość koszyka jest zachowywana przez 30 dni, niezależnie od sesji.
  • Stały klient widzi swój koszyk na każdym urządzeniu, na którym jest zalogowany.
  • Opróżniony koszyk pozostaje pusty (usunięte produkty nie są przywracane).

Given/When/Then – w przypadku zachowań zależnych od stanu:

  • W sytuacji, gdy klient ma zapisany koszyk, gdy produkt stanie się niedostępny, wtedy w koszyku produkt ten zostanie wyświetlony jako wyszarzony z oznaczeniem „brak na stanie”, zamiast być po cichu usuwany.

Proszę kierować się listą kontrolną; proszę stosować schemat „Given/When/Then”, gdy warunek wstępny wiąże się z rzeczywistą pracą. Lista powinna zawierać od trzech do pięciu pozycji. Dłuższa lista zazwyczaj oznacza, że opowieść należy podzielić, a kryteria wskazują Panu i Pani miejsca podziału. Pełne omówienie (kryteria a wymagania, kryteria a definicja zakończenia, kto je sporządza) znajdą Państwo w rozdziale poświęconym kryteriom akceptacji.

Przykład z obliczeniami: budynek parterowy, szablon do oszacowania

Oto przebieg prawdziwej historii przy użyciu powyższej karty.

The path from a story template to a converged estimate Story Criteria Ready? Estimate one sentence 3–5, pass / fail gate to the team planning poker in the sizing session, the votes converge 3 5 5 8 5 criteria first, then points — the spread is a scope conversation, not a contest
Kryteria przed punktami. Karta o jasno określonej roli, weryfikowalnej korzyści oraz od trzech do pięciu kryteriów osiąga konsensus już po jednym lub dwóch głosowaniach; karta niejasna powoduje rozbieżności, których nikt nie jest w stanie rozstrzygnąć.

Krok 1: opis. Właściciel produktu pisze:

Jako osoba dokonująca zakupu po raz pierwszy chciałbym przejść do kasy bez zakładania konta, aby móc sfinalizować zakup, zanim zmienię zdanie.

Krok 2: rozmowa, ujęta w postaci kryteriów. W ramach dopracowywania rejestru zadań zespół wydobywa niuanse, których nie oddaje samo zdanie, i zapisuje je:

  • Klient może sfinalizować transakcję, podając jedynie adres e-mail i dane dotyczące dostawy, bez konieczności podawania hasła.
  • W wiadomości e-mail z potwierdzeniem zamówienia oferowana jest możliwość utworzenia konta jednym kliknięciem (zamówienie jest już dołączone).
  • Dział obsługi klienta może zidentyfikować zamówienie złożone przez gościa na podstawie numeru zamówienia oraz adresu e-mail.
  • W przypadku realizacji zamówienia jako gość stosowane są te same mechanizmy weryfikacji oszustw, co w przypadku realizacji zamówienia przy użyciu konta.

Poza zakresem: konwersja historycznych zamówień gości w przypadku późniejszego utworzenia konta.

Krok 3: sprawdzenie gotowości. Cztery kryteria, jedno wykluczenie nazwane, brak niepotwierdzonych zależności: zadanie spełnia definicję gotowości i trafia do zespołu w celu oszacowania zakresu.

Krok 4: oszacowanie. Zespół głosuje w rundzie planning poker. Wylosowano karty o wartościach 3, 5, 5, 8. Liczba 8 wynika z następującego wyjaśnienia: kryterium sprawdzania oszustw wiąże się z koniecznością ingerencji w integrację z dostawcą usług płatniczych, czego nikt inny nie uwzględnił w wycenie. Właśnie w ten sposób kryteria spełniają swoją rzeczywistą rolę: dyskusja dotyczy zakresu prac, a nie tego, czyja liczba jest właściwa. Zespół ponownie głosuje i osiąga konsensus na poziomie 5.

Proszę zwrócić uwagę na kolejność: najpierw kryteria, potem punkty. Oszacowanie zadania przed ustaleniem jego kryteriów prowadzi do powstania szerokich, niemożliwych do rozstrzygnięcia przedziałów, które hamują przebieg sesji ustalania wielkości zadań. W rezultacie zespół głosuje nad różnymi zadaniami, które przypadkowo mają ten sam tytuł.

Najczęściej zadawane pytania

Czym jest szablon opisu użytkownika?

„Jako [rola] pragnę [cel], aby [korzyść]”. Rola określa, kto czerpie korzyść, cel określa zdolność z punktu widzenia tej osoby, a korzyść stanowi powód, dla którego dane zadanie zasługuje na umieszczenie w rejestrze zadań. Szablon ten stanowi punkt wyjścia do rozmowy, a nie formularz do wypełnienia. Wypełnianie pustych pól stanowi początek procesu dopracowywania.

W jaki sposób należy sformułować kryteria akceptacji dla opisu użytkownika?

Proszę sformułować od trzech do pięciu weryfikowalnych warunków, które jednoznacznie określają – poprzez wynik pozytywny lub negatywny – czy opowieść spełniła ustalone wymagania. Proszę zastosować prostą listę kontrolną, gdy warunki są niezależne, oraz schemat „Given/When/Then”, gdy zachowanie zależy od stanu. Każde kryterium powinno być możliwe do sprawdzenia przez testera, który nie brał udziału w rozmowie dotyczącej doprecyzowania.

Czy w kryteriach akceptacji należy stosować schemat „Dane/Gdy/Wówczas”, czy też listę kontrolną?

Dopasuj format do zachowania. Schemat „Given/When/Then” sprawdza się wtedy, gdy wynik zależy od stanu początkowego, ponieważ zmusza do określenia warunku wstępnego, czynnika wyzwalającego oraz rezultatu. Lista kontrolna jest szybsza w odczytaniu i trudniejsza do nadmiernego rozbudowywania, gdy opis sytuacji sprowadza się po prostu do stwierdzenia: „te cztery rzeczy muszą być spełnione”. W przypadku większości opisów wystarczy właśnie lista kontrolna.

Czym jest opis zadania?

Wariant, w którym personę zastępuje się sytuacją: „Kiedy [sytuacja], chcę [motywacja], aby móc [rezultat]”. Opisy zadań wywodzą się ze szkoły „jobs-to-be-done” i sprawdzają się dobrze, gdy moment wyzwalający lepiej wyjaśnia wymaganie niż persona. Ta sama osoba ma różne potrzeby, gdy przebywa przy biurku, a inne – w pociągu.

Czy każda pozycja w backlogu wymaga szablonu opisu użytkownika?

Nie. Szablon opisuje wartość odczuwalną przez użytkownika, a narzucanie go w odniesieniu do pracy na platformach, znanych błędów lub projektów badawczych prowadzi do powstania zdań, które wprowadzają zbędną formalność, nie wnosząc przy tym żadnych informacji. Należy zachować dwa elementy, które zawsze mają zastosowanie (określony powód oraz weryfikowalne kryteria akceptacji), a formę zdania dostosować do charakteru danego zadania.

Warto przeczytać