Jak pisać historyjki użytkownika (z przykładami i kryteriami akceptacji)
Historyjka użytkownika to krótki opis funkcji z punktu widzenia użytkownika: „Jako [typ użytkownika] chcę [cel], aby [powód]”. Pod spodem zapisujesz kryteria akceptacji, czyli kilka konkretnych warunków, które muszą być spełnione, by historyjka została uznana za gotową. Każdą historyjkę trzymaj na tyle małą, by dało się ją zbudować i przetestować za jednym razem, a kryteria zapisuj tak, by każdy mógł je sprawdzić.
Historyjki użytkownika spopularyzowały zwinne zespoły programistyczne, ale są równie przydatne, gdy budujesz samodzielnie w narzędziu AI do tworzenia aplikacji. Dobra historyjka to dobry prompt.
Format
Historyjka użytkownika ma trzy części:
Jako [kto] chcę [co] aby [dlaczego].
- Kto to konkretny typ użytkownika: pierwszy raz odwiedzający, płacący członek, recepcjonistka w klinice, administrator. Nie „użytkownik”.
- Co to to, co chce zrobić, w jego własnych słowach. Nie to, jak działa ekran.
- Dlaczego to efekt, na którym mu zależy. To część, którą ludzie pomijają, a która powstrzymuje przed budowaniem niewłaściwej rzeczy.
Przykład:
Jako członek siłowni chcę anulować rezerwację zajęć z telefonu, aby ktoś z listy oczekujących mógł zająć moje miejsce, a ja nie zapłaciłem opłaty za nieobecność.
Część „dlaczego” mówi dwie rzeczy, których nie powiedziała część „co”: musi działać na telefonie, a w grę wchodzą lista oczekujących i zasady dotyczące opłat.
Kryteria akceptacji
Historyjka mówi, czego się chce. Kryteria akceptacji mówią, kiedy to jest gotowe. Powinny być na tyle konkretne, by dwie osoby zgodziły się, czy każde z nich zostało spełnione.
Częsty sposób zapisu to Dany / Gdy / Wtedy:
- Dany punkt wyjścia
- Gdy użytkownik coś robi
- Wtedy następuje ten wynik
Dla historyjki o rezerwacji na siłowni:
- Dany mam rezerwację więcej niż 12 godzin przed czasem, gdy stukam Anuluj i potwierdzam, wtedy rezerwacja zostaje usunięta, a ja widzę „Rezerwacja anulowana”.
- Dany anuluję rezerwację, a zajęcia mają listę oczekujących, gdy anulowanie się zapisze, wtedy pierwsza osoba z listy dostaje miejsce i e-mail.
- Dany rezerwacja mniej niż 12 godzin przed czasem, gdy stukam Anuluj, wtedy przed potwierdzeniem widzę, że obowiązuje opłata za późne anulowanie.
- Dany jestem na ekranie o szerokości telefonu, wtedy przycisk Anuluj jest widoczny bez przewijania w bok.
Zwykła lista kontrolna też się nadaje, o ile każdy punkt da się sprawdzić. „Anulowanie jest łatwe” nie da się sprawdzić. „Anulowanie zajmuje najwyżej dwa kliknięcia z listy rezerwacji” da się.
Krok po kroku: jak napisać dobrą historyjkę
Krok 1: Zacznij od prawdziwego użytkownika i prawdziwego problemu
Wybierz jeden typ użytkownika i coś, z czym dziś ma trudność. Jeśli przeprowadzałeś rozmowy z klientami, użyj ich słów. „Zawsze zapominam anulować i dostaję obciążenie” to lepszy punkt wyjścia niż „dodaj funkcję anulowania”.
Krok 2: Napisz jednolinijkową historyjkę
Wypełnij szablon. Jeśli nie potrafisz napisać przekonującego „aby”, zapytaj, czy funkcja w ogóle jest potrzebna.
Krok 3: Dodaj od trzech do sześciu kryteriów akceptacji
Pokryj najpierw główny przypadek sukcesu, a potem ważne odmiany: inną rolę, pusty stan, limit, błąd. Jeśli piszesz więcej niż sześć, historyjka jest prawdopodobnie za duża.
Krok 4: Zanotuj, co jest poza zakresem
Jedna linijka oszczędza dużo ping-ponga: „Poza zakresem: zwroty za płatne zajęcia; administratorzy anulujący za członków.” Powstrzymuje historyjkę przed rozrastaniem się w trakcie budowy.
Krok 5: Sprawdź ją według INVEST
INVEST to popularna lista kontrolna dobrych historyjek. Historyjka powinna być:
| Litera | Znaczy | Szybki test |
|---|---|---|
| I | Niezależna (Independent) | Da się ją zbudować bez czekania na inną historyjkę |
| N | Negocjowalna (Negotiable) | Opisuje potrzebę, a nie ustalony projekt |
| V | Wartościowa (Valuable) | Użytkownik zauważyłby, gdyby trafiła do produktu |
| E | Szacowalna (Estimable) | Możesz mniej więcej oszacować jej wielkość |
| S | Mała (Small) | Da się ją zbudować i przetestować w jednym posiedzeniu |
| T | Testowalna (Testable) | Każde kryterium akceptacji da się sprawdzić |
Nie musisz oceniać każdej historyjki. Najbardziej przydatne jest wtedy, gdy historyjka wydaje się zła i chcesz wiedzieć dlaczego.
Dobre i złe przykłady
| Słaba historyjka | Problem | Lepsza historyjka |
|---|---|---|
| Jako użytkownik chcę pulpit. | Brak konkretnego użytkownika, brak powodu, nie da się przetestować | Jako właściciel sklepu chcę widzieć dzisiejsze zamówienia i przychód na jednym ekranie, aby od razu wiedzieć, czy dzień idzie dobrze. |
| Jako administrator chcę, żeby baza miała kolumnę statusu. | Opisuje implementację, a nie potrzebę | Jako administrator chcę oznaczać zamówienia jako wysłane, aby klienci przestali pisać z pytaniem, gdzie jest ich paczka. |
| Jako klient chcę zarządzać kontem. | Za duża: obejmuje wiele funkcji | Jako klient chcę zmienić adres e-mail, aby rachunki przychodziły na moją nową skrzynkę. |
| Jako odwiedzający chcę, żeby strona była szybka. | To nie historyjka, tylko jakość, której wszyscy oczekują | Zapisz to jako kryterium przy każdej historyjce albo jako osobny cel wydajności. |
Jak podzielić zbyt dużą historyjkę
Duże historyjki to miejsce, w którym projekty stają w miejscu. Typowe sposoby podziału:
- Według roli użytkownika. Członkowie anulują własne rezerwacje; personel anuluje dowolne.
- Według kroku przepływu. Przeglądaj zajęcia; zarezerwuj zajęcia; dostań przypomnienie.
- Najpierw prosty przypadek. Anuluj darmowe zajęcia teraz; opłaty i zwroty obsłuż w późniejszej historyjce.
- Według wariantu danych. Obsłuż najpierw jedną lokalizację, więcej później.
- Najpierw szczęśliwa ścieżka, potem błędy. Najpierw zbuduj działanie, potem dodaj obsługę pełnych zajęć, wygasłych karnetów i tak dalej.
Każdy kawałek nadal powinien być czymś, z czego użytkownik może skorzystać i co zauważy.
Używanie historyjek jako promptów
Historyjka użytkownika z kryteriami akceptacji jest bardzo bliska dobremu promptowi dla narzędzia AI do budowania aplikacji. Daje AI kto, co, dlaczego i definicję ukończenia. Wysyłaj jedną historyjkę w wiadomości:
Jako członek siłowni chcę anulować rezerwację zajęć z telefonu, aby ktoś z listy oczekujących mógł zająć moje miejsce. Kryteria akceptacji:
- Anuluj jest przy każdej rezerwacji w Moich rezerwacjach, z krokiem potwierdzenia.
- Anulowanie więcej niż 12 godzin przed zajęciami po prostu usuwa rezerwację.
- Mniej niż 12 godzin przed, pokaż „Obowiązuje opłata za późne anulowanie w wysokości 5 USD” przed potwierdzeniem i zapisz opłatę przy rezerwacji.
- Jeśli zajęcia mają listę oczekujących, pierwsza osoba dostaje miejsce i e-mail.
- Działa na ekranie o szerokości telefonu. Poza zakresem: zwroty, anulowania przez personel za członków. Zbuduj to, potem sprawdź w podglądzie każde kryterium i napisz, które przechodzą.
Możesz też poprosić AI o wstępne historyjki na podstawie surowego pomysłu, a potem edytować je samodzielnie:
Oto mój pomysł na aplikację: [dwa lub trzy zdania]. Napisz historyjki użytkownika dla wersji pierwszej, pogrupowane według typu użytkownika, każda z 3 do 5 kryteriami Dany/Gdy/Wtedy. Zaznacz, które są niezbędne do startu, a które mogą poczekać.
Zawsze czytaj wynik i edytuj go. AI nie zna twoich użytkowników. Ty znasz.
Kryteria akceptacji pełnią też rolę planu testów. Gdy historyjka jest zbudowana, samodzielnie przejdź przez każde kryterium. Nasz przewodnik testowanie aplikacji przed startem rozwija to podejście.
Gdzie historyjki pasują do innych dokumentów
- Dokument wymagań produktu opisuje cały produkt: problem, użytkowników, zakres. Historyjki użytkownika to szczegółowe elementy w jego środku. Zobacz jak napisać PRD z AI.
- Zgłoszenie błędu opisuje coś zepsutego w stosunku do historyjki, która już została zbudowana. Zobacz jak napisać dobre zgłoszenie błędu.
- MVP to najmniejszy zestaw historyjek dostarczających podstawową wartość. Zobacz czym jest MVP.
Częste błędy
- „Jako użytkownik…” Zbyt ogólne. Nazwij konkretny typ użytkownika.
- Pominięcie „aby”. Bez powodu nie da się sensownie podejmować kompromisów.
- Pisanie rozwiązania zamiast potrzeby. „Chcę listę rozwijaną” zamyka projekt, zanim ktokolwiek pomyślał o nim.
- Kryteria, których nie da się przetestować. „Łatwe”, „szybkie” i „intuicyjne” to życzenia, a nie kryteria.
- Historyjki, które są w rzeczywistości epikami. „Zarządzaj moim kontem” to dziesięć historyjek.
- Pisanie wszystkich historyjek z góry. Pisz szczegółowo kilka następnych; resztę trzymaj jako jednolinijkowce, aż do nich dojdziesz.
Historyjki w Mythex
W Mythex tryb Plan to dobre miejsce, by zamienić pomysł w historyjki: agent omawia podejście, zanim cokolwiek edytuje. Gdy historyjka jest gotowa, przełącz się na Build i wklej ją, jedną historyjkę w wiadomości. Po każdej z nich /test może przeklikać podgląd i sprawdzić przepływ, a każdą odpowiedź możesz cofnąć przez Przywróć do tego punktu, jeśli poszła w złą stronę. Zobacz skuteczne prompty w dokumentacji oraz nasz przewodnik jak pisać prompty dla narzędzi do budowania aplikacji z AI.
Lista kontrolna historyjki użytkownika
- Nazywa konkretny typ użytkownika
- Opisuje potrzebę, a nie projekt
- Zawiera prawdziwe „aby” jako powód
- Ma od trzech do sześciu testowalnych kryteriów akceptacji
- Obejmuje co najmniej jeden przypadek brzegowy lub błąd
- Podaje, co jest poza zakresem
- Jest na tyle mała, by ją zbudować i przetestować za jednym razem
- Kryteria sprawdzone po zbudowaniu, jedno po drugim
Pytania
Jaki jest format historyjki użytkownika?
Najczęstszy szablon to: Jako [typ użytkownika] chcę [cel], aby [powód]. Po nim następują kryteria akceptacji, czyli krótka lista warunków, które muszą być spełnione, by historyjka została uznana za gotową.
Czym są kryteria akceptacji?
Kryteria akceptacji to konkretne, testowalne warunki określające, kiedy historyjka użytkownika jest ukończona. Często zapisuje się je w formie Dany / Gdy / Wtedy: dany punkt wyjścia, gdy użytkownik coś zrobi, wtedy następuje określony wynik.
Jak duża powinna być historyjka użytkownika?
Na tyle mała, by dało się ją zbudować i przetestować za jednym podejściem, a jednocześnie wartościowa sama w sobie. Jeśli historyjka ma więcej niż pięć lub sześć kryteriów akceptacji albo obejmuje kilka ekranów, podziel ją według roli użytkownika, kroku przepływu albo najpierw według prostego przypadku, a przypadki brzegowe zostaw na później.
Czy historyjki użytkownika są przydatne przy budowaniu z AI?
Tak. Historyjka użytkownika z kryteriami akceptacji jest bliska idealnemu promptowi: mówi, dla kogo jest funkcja, czego ten ktoś potrzebuje i dokładnie jak sprawdzić, czy działa. Wysyłanie jednej historyjki w wiadomości utrzymuje też zmiany AI małe i łatwe do przetestowania.