W zwinnym procesie wytwarzania oprogramowania, ważnym elementem są historyjki użytkownika (user stories), na podstawie, których generowane są zadania do wykonania i testy akceptacyjne.
Jakie cechy powinna mieć dobra historyjka?

Przede wszystkim powinna być skierowana na klienta. W najlepszym wypadku powinna być napisana przez samego klienta, ale nie zawsze mamy taką możliwość. Przede wszystkim powinniśmy podczas definiowania historyjki używać zdań zrozumiałych dla klienta. Zdanie „zwiększenie przestrzeni wokół pola wyszukiwania” jest o wiele więcej mówiące dla większości czytelników niż „zmiana margin i padding w szablonie stylu strony”, które to zdanie jest zrozumiałe właściwie tylko dla programistów. Unikanie żargonów i skrótów myślowych jest kluczowe. Najlepiej jest gdy podczas definiowania historyjek „wcielimy się” w rolę klienta i z tej prespektywy będziemy je definiować.

Historyjka to nie opowiadanie. Dobra historyjka nie powinna być zbyt długa, jeżeli całą historyjkę potrafimy wyjaśnić koledze z pracy w drodze z parkingu do biura, to nie jest źle. Różnie się praktykuje długość czasu, w jakim historyjka powinna być wyjaśniona – większość firm uznaje granice pomiędzy 30 a 45 sekund jako optimum. Gdy posiadamy historyjkę, której wyjaśnianie zajmuje trochę więcej czasu – powinniśmy rozważyć możliwość podzielenia jej na dwie lub więcej mniejszych.

Dobra historyjka nie powinna być szczegółowa. Szczegóły pozostawia się do dyskusji w zespole, historyjka powinna obejmować tylko ogólne założenia, które będą gotowe do rozszerzenia poprzez dyskusje.

Kolejnym ważnym elementem podczas tworzenia historyjek, jest oszacowanie jak długo powinna trwać jej implementacja. Większość iteracji trwa 2 tygodnie, więc nie powinniśmy tworzyć historyjek, których implementacja będzie trwała dłużej niż tydzień. Historyjki powinny opisywać poszczególne drobne elementy programu a nie cały program. Z drugiej strony definiowanie historyjek, których implementacja będzie trwała kilka- lub kilkanaście minut, też nie jest zbyt dobrą praktyką, jednak jest to już mniejszy problem niż z za długimi. Krótkie możemy łączyć i implementować w jednym czasie.

Ostatnim warunkiem dobrej historyjki jest jest testowalność. Opisywana historia powinna być łatwa do zdefiniowania jako test. Określenie „zamówienie powinno być szybkie i przyjemne” pozostawia wiele niejasności, przez co jego implementacja i testowanie może być utrudnione. W powyższym zdaniu zwłaszcza – to co dla kogoś jest przyjemne dla innego może nastawiać odmienne uczucia. Jeżeli jednak, powyższe zdanie określimy inaczej, np.: „Zamówienie powinno odbywać się w trzech krokach: wybór produktu, uzupełnienie adresu i kliknięcie w przycisk Zamów” – mamy jednoznacznie określone co to znaczy „łatwe i przyjemne”. Dodatkowo takie wymagania bardzo łatwo przetestować.
Reasumując: na podstawie tych historyjek są tworzone testy akceptacyjne, więc powinny być pisane tak, że osoba postronna będzie wiedzieć co i jak robić, aby sprawdzić ich poprawność.

Z biegiem czasu będziemy dokładnie wiedzieć jak historyjki powinny być pisane i co powinny zawierać, jednak mam nadzieję, że dla początkujących te kilka rad będzie pomocne.
.