User stories to krótki opis cech i właściwości systemu wyrażanych przez potrzebę użytkownika. Wykorzystuje się je w procesach developmentu produktu, w ramach tzw. metodyki Agile (zwinnej) do określenia funkcji i wytwarzanej wartości dla użytkownika. User stories powstają jako efekt współpracy pracy pomiędzy klientem, określającym wymagania i wizję produktu, a zespołem projektowym agregującym i weryfikującym informacje. Taka komunikacja pozwala na uspójnienie wizji, rozwiązań i pożądanego efektu, a także minimalizuje ryzyko powstawania ewentualnych błędów. Najczęściej stosuje się następujący schemat:
Powyższy schemat pozwala na klarowne określenie: kto, co i dlaczego wykonuje daną czynność, dzięki czemu widzimy nie tylko funkcje, ale również ich wagę i znaczenie dla całego systemu. Konieczność myślenia poprzez pryzmat użyteczności dla użytkownika pozwala odpowiednio zaplanować pracę, uwzględniając biznesowe cele. User stories opisują najczęściej jedną wybraną interakcję użytkownika z systemem.
Pomimo pozornej prostoty bardzo łatwo pominąć komponenty schematu lub źle określić poziom szczegółowości. By temu zapobiec, warto kierować się zasadami tworzenia user stories z poniższego schematu:
Każda historia powinna mieć zdefiniowane kryteria akceptacji, określające: które parametry powinny zostać spełnione, aby historia została zaakceptowana (np. logowanie przez FB, logowanie przez e-mail, logowanie przez LinkedIn, to kryteria akceptacji do funkcji logowania). Sprawdzanie poszczególnych kryteriów w ramach danej historii wyraża się poprzez scenariusz testowy, który określa: co musimy przetestować i jakie funkcje mają działać. Z kolei Definition of done odpowiada na pytanie, jakie parametry świadczą o ukończeniu danej user story. Ukończenie historii odpowiada jednocześnie ukończeniu sprintu.
Przykładowy user story z projektu rozpisanyw JIRA, który realizowaliśmy:
User stories na etapie brainstormingu najczęściej zapisujemy na sticky notes, co ogranicza miejsce i zapewnia większe skupienie na istocie opisywanego działania. Wszystkie historie tworzą zbiór tzw. backlogu i opracowywane są przez team w kolejnych iteracjach w narzędziu JIRA.
Najczęstszymi błędami popełnianymi przy definiowaniu historii użytkowników są:
Estymacja czasowa iteracji odbywa się za pomocą nadania Story Points, które określają tzw. rozmiar relatywny, odnoszący relację historyjek względem siebie. Punkty nie określają bezwzględnej jednostki w czasie. Oznacza to, że wybierając najprostsze zadanie, przypisując mu wartość równą 2, zakładamy, że zadanie z opisem 4 zajmie nam dwukrotnie więcej czasu od pierwszego. Punkty odzwierciedlają rozmiar pracy, a nie czas potrzebny do jej wykonania. Dzięki temu różnice wynikające z zasobów, umiejętności czy podejścia przestają stanowić punkt rozbieżny. To samo zadanie wykonywane jest przez dwa różne zespoły w różnym tempie, dlatego uwzględniać należy rozmiar pracy oraz wydajność zespołu.
Dobrze napisane user story przyczynia się do ustrukturyzowania pracy w zespole i zaoszczędzania czasu przy wdrażaniu pomysłu. Historie użytkownika pozwalają wykorzystać efekt synergii wynikający ze wspólnego wypracowywania najlepszych możliwych efektów. Dlatego ta metodologia, nazywana zwinną, jest stosowana na co dzień w firmach wytwarzających software.
W ostatnich latach na intensywny i dynamiczny rozwój e-commerce znaczący wpływ miało coraz większe wykorzystanie…
Na początku każdego roku dokonujemy przeglądu najlepszych praktyk i trendów w m-commerce na kolejne dwanaście…
E-commerce zdecydowanie zakorzenił się w naszym stylu życia. W 2020 roku sprzedaż internetowa stanowiła 18%…
Dlaczego powinieneś mieć aplikację mobilną? Jednym zdaniem? Ponieważ zapewnia większe przychody. Jak już wiesz, rynek…
Dobrze przemyślany program lojalnościowy to świetna okazja, żeby zwiększyć sprzedaż, przyciągnąć nowych klientów i budować…
Android i iOS to obecnie główne systemy operacyjne przeznaczone dla urządzeń mobilnych. Natywne aplikacje pisane…
Zobacz komentarze
Hi Karolina,
It is a lot easier to create test scenarios with a right tool. I highly recommend everyone to look into HipTest (hiptest.net). I don't want to go into much details here, but it allows testers to (among other things):
- create function-like action words which reduces text duplication
- launch test runs of your test scenarios which reduces regression time
- generate simple reports from test runs
- generate test code in chosen test framework (I didn't use it so far to be honest but looks interesting)
The tool is rather simple, but of course one needs to spend some time to learn it.
Best regards ;)
Jacek
:)