User Stories, znane także jako Historyjki Użytkownika, stanowią popularną i szeroko stosowaną technikę opisywania wymagań. Skupiają się na dostarczanej wartości, krótko i zwięźle opisując to, co dany typ użytkownika chce zrobić i w jakim celu.
Zgodnie z definicją, User Stories są prostymi i krótkimi opisami funkcjonalności opowiadanymi z perspektywy osoby pragnącej nowej możliwości lub czynności, a więc najczęściej klienta lub użytkownika systemu. Dają możliwość efektywnego i zwięzłego opisu potrzeby i pozwalają na jej dodatkowe doprecyzowanie poprzez zastosowanie kryteriów akceptacji.
Właściwie opracowane User Stories powinny być zdefiniowane przy użyciu naturalnego języka, nastawione na dostarczenie wartości dla konkretnego użytkownika i opracowane z jego perspektywy. Muszą być ponadto możliwe do dostarczenia w krótkim czasie.
User Stories służą do krótkoterminowego przechowywania wymagań ze zwróceniem szczególnej uwagi na dostarczaną wartość, a także jako wstęp do dalszej dyskusji, której celem jest wypracowanie wspólnego zrozumienia zagadnienia i stosowne modelowanie rozwiązania na drodze dalszych prac. Historyjki:
Ze względu na swoją naturę, User Stories mogą być z powodzeniem wykorzystywane do:
User Stories tworzone są zazwyczaj przez Product Ownera lub inną osobę wyznaczoną przez interesariuszy. Zdarza się także, że na potrzeby zespołu zakłada je Scrum Master lub Product Manager.
Aby napisać User Stories, warto postępować według modelu CCC, który zakłada stworzenie User Story Card, User Story Conversation oraz User Story Confirmation.
User Story Card, czyli Karta Historyjki Użytkownika, to tytuł User Stories. Za standard przyjęty został opis według konwencji: Jako <użytkownik> chciałbym <możliwość, czynność>, aby <korzyść>.
Na tym etapie stworzenia User Stories konieczne jest dopracowanie ich detali. Może się to odbyć w trakcie rozmowy, z której wnioski zostają następnie ujęte w Historyjce Użytkownika.
Ostatnim elementem stworzenia Historyjki Użytkownika jest ustalenie kryteriów jej akceptacji. Oznacza to zaprojektowanie testu lub zestawu testów, których celem jest otrzymanie potwierdzenia jakości User Stories. Powinny być one przeprowadzane na wczesnym etapie prac, pozwala to bowiem uzyskać zadowalające efekty niezależnie od przyjętej metodyki. Projektanci User Stories powinni kierować się zdefiniowanymi dla projektu procesami kontrolowania zmian.
W sytuacji, gdy kolejne User Stories są zbyt duże, by mogły być zaimplementowane w trakcie jednej iteracji, konieczne jest podzielenie ich na mniejsze Historyjki.
Wykorzystujemy je w procesie tworzenia dedykowanego oprogramowania, aby jeszcze lepiej odpowiadać na potrzeby potencjalnych użytkowników.
Przykładowe User Stories mogą więc wyglądać następująco:
Jako Adam chciałbym uporządkować swój grafik, aby zyskać nad nim większą kontrolę.
Jako Anna chciałabym udostępnić tę usługę moim znajomym, aby móc z niej wspólnie korzystać.
Jako manager chciałbym móc monitorować postępy moich pracowników, aby być w stanie efektywnie informować o sukcesach i porażkach zespołu.
User Stories uznaje się za gotową, gdy dana osoba jest w stanie uzyskać pożądane korzyści. Zaprezentowana struktura nie jest wymagana, każdy zespół może zaprojektować własną.