User stories: Różnice pomiędzy wersjami

Z Encyklopedia Zarządzania
mNie podano opisu zmian
m (cleanup bibliografii i rotten links)
 
(Nie pokazano 10 wersji utworzonych przez 2 użytkowników)
Linia 1: Linia 1:
{{infobox4
|list1=
<ul>
<li>[[Backlog sprintu]]</li>
<li>[[Backlog produktu]]</li>
<li>[[Feature-Driven Development]]</li>
<li>[[Scrum of scrums]]</li>
<li>[[Getting Things Done]]</li>
<li>[[Technika MoSCoW]]</li>
<li>[[Webmaster]]</li>
<li>[[Testowanie w projekcie]]</li>
<li>[[Ganttproject]]</li>
</ul>
}}
'''Historyjka użytkownika''' (ang. ''User story'') jest sposobem zapisu wymagań klienta. [[Metoda]] ta została zaproponowana przez Kenta Becka i Martina Fowlera - twórców metodyki [[Metodyka Extreme Programming|Extreme Programming]]<ref>Chrapko M. (2015)., s. 151</ref>, i jest często stosowana do gromadzenia wymagań w metodykach zwinnych np. [[Metodyka SCRUM|Scrum]], [[Kanban]] czy właśnie Extreme Programming.
'''Historyjka użytkownika''' (ang. ''User story'') jest sposobem zapisu wymagań klienta. [[Metoda]] ta została zaproponowana przez Kenta Becka i Martina Fowlera - twórców metodyki [[Metodyka Extreme Programming|Extreme Programming]]<ref>Chrapko M. (2015)., s. 151</ref>, i jest często stosowana do gromadzenia wymagań w metodykach zwinnych np. [[Metodyka SCRUM|Scrum]], [[Kanban]] czy właśnie Extreme Programming.


Linia 22: Linia 7:
User story to krótki opis wybranej funkcjonalności, napisany z punktu widzenia docelowego użytkownika danego produktu. Opis taki, zwykle jednozdaniowy, zawiera jedynie [[informacje]] najważniejsze z punktu widzenia przyszłego użytkownika - jest on zasygnalizowaniem problemu oraz punktem wyjścia do dyskusji o sposobach jego rozwiązania.
User story to krótki opis wybranej funkcjonalności, napisany z punktu widzenia docelowego użytkownika danego produktu. Opis taki, zwykle jednozdaniowy, zawiera jedynie [[informacje]] najważniejsze z punktu widzenia przyszłego użytkownika - jest on zasygnalizowaniem problemu oraz punktem wyjścia do dyskusji o sposobach jego rozwiązania.


Tradycyjnie, historyjki użytkownika zapisywane są na niewielkich kartkach papieru lub kartonikach dzięki temu możliwe jest ich fizyczne umieszczenie na Scrum board lub Kanban Board. Rozmiar kartek ma również wpływ na to, że historyjki użytkownika zapisane na nich powinny być możliwie krótkie i zwięzłe.
Tradycyjnie, historyjki użytkownika zapisywane są na niewielkich kartkach papieru lub kartonikach - dzięki temu możliwe jest ich fizyczne umieszczenie na Scrum board lub Kanban Board. Rozmiar kartek ma również wpływ na to, że historyjki użytkownika zapisane na nich powinny być możliwie krótkie i zwięzłe.
<google>t</google>


Jeden z najprostszych, a także najpopularniejszy szablon zapisu historyjki użytkownika wygląda następująco<ref>Chrapko M. (2015). , s. 151</ref>:
Jeden z najprostszych, a także najpopularniejszy szablon zapisu historyjki użytkownika wygląda następująco<ref>Chrapko M. (2015). , s. 151</ref>:
Linia 30: Linia 14:


Kluczowe w tworzeniu historyjki jest odpowiedź na trzy pytania widoczne we wzorze:
Kluczowe w tworzeniu historyjki jest odpowiedź na trzy pytania widoczne we wzorze:
# '''Kto?''' [[informacja]] na temat użytkownika systemu, jego typu.
# '''Kto?''' - [[informacja]] na temat użytkownika systemu, jego typu.
# '''Co?''' informacja o zadaniu, jakie dany [[użytkownik]] ma wykonać.
# '''Co?''' - informacja o zadaniu, jakie dany [[użytkownik]] ma wykonać.
# '''Dlaczego?''' informacja o oczekiwanym wyniku wykonanego zadania.
# '''Dlaczego?''' - informacja o oczekiwanym wyniku wykonanego zadania.


W języku angielskim te trzy pytania układają się w tzw. “Trzy W”: Who-What-Why<ref>Pfahl D. (2014). , s. 2</ref>.
W języku angielskim te trzy pytania układają się w tzw. “Trzy W": Who-What-Why.


Przykładowa historyjka użytkownika:
Przykładowa historyjka użytkownika:
Linia 40: Linia 24:
''Jako'' '''[[klient]] sklepu''' ''chcę'' '''dodać [[produkt]] do koszyka''' ''aby'' '''go później kupić'''.
''Jako'' '''[[klient]] sklepu''' ''chcę'' '''dodać [[produkt]] do koszyka''' ''aby'' '''go później kupić'''.


Powyższy szablon może być oczywiście podstawą do modyfikacji jeżeli realizowany [[projekt]] tego wymaga, może on zostać rozbudowany o dodatkowe informacje lub okrojony, jeśli dana informacja nie jest akurat w danym projekcie potrzebna.
Powyższy szablon może być oczywiście podstawą do modyfikacji - jeżeli realizowany [[projekt]] tego wymaga, może on zostać rozbudowany o dodatkowe informacje lub okrojony, jeśli dana informacja nie jest akurat w danym projekcie potrzebna.
 
Podczas tworzenia historyjek użytkownika należy pamiętać, aby opisywały tylko takie funkcjonalności, które mają rzeczywistą [[wartość]] dla użytkownika - nie uwzględniamy w nich informacji takich jak sposób realizacji danego zadania ani szczegółów technicznych - np. używanego języka programowania<ref>Chrapko M. (2015), s. 154</ref>.


Podczas tworzenia historyjek użytkownika należy pamiętać, aby opisywały tylko takie funkcjonalności, które mają rzeczywistą [[wartość]] dla użytkownika – nie uwzględniamy w nich informacji takich jak sposób realizacji danego zadania ani szczegółów technicznych - np. używanego języka programowania<ref>Chrapko M. (2015), s. 154</ref>.
<google>n</google>


==Elementy User story trzy "K”==
==Elementy User story - trzy "K"==
Każda historyjka użytkownika jest złożona z trzech poniższych elementów<ref>Jeffries R. (2011)., 2011</ref>:
Każda historyjka użytkownika jest złożona z trzech poniższych elementów<ref>Jeffries R. (2011)., 2011</ref>:
# '''Karta''' historyjka zapisana jest na niewielkiej kartce papieru. Kratka sama w sobie nie jest wymaganiem (ma za mało miejsca, aby umieścić na niej wszystkie niezbędne informacje), ale jest fizyczną reprezentacją wymagania, ułatwiającą pracę z wymaganiami, np. [[planowanie]] pracy.
# '''Karta''' - historyjka zapisana jest na niewielkiej kartce papieru. Kratka sama w sobie nie jest wymaganiem (ma za mało miejsca, aby umieścić na niej wszystkie niezbędne informacje), ale jest fizyczną reprezentacją wymagania, ułatwiającą pracę z wymaganiami, np. [[planowanie]] pracy.
# '''Konwersacja''' historyjka użytkownika jest podstawą do rozmowy pomiędzy wszystkimi członkami zespołu projektowego, mającej na celu ustalenie wszystkich szczegółów koniecznych do prawidłowego zaimplementowania historyjki w produkcie.
# '''Konwersacja''' - historyjka użytkownika jest podstawą do rozmowy pomiędzy wszystkimi członkami zespołu projektowego, mającej na celu ustalenie wszystkich szczegółów koniecznych do prawidłowego zaimplementowania historyjki w produkcie.
# '''Konfirmacja''' [[implementacja]] historyjki powinna zostać potwierdzona poprzez odpowiednie testy akceptacyjne. Testy akceptacyjne zwykle są opisywane po drugiej stronie karteczek z historyjkami. Uznaje się, że jedna historyjka nie powinna mieć więcej niż dziesięć kryteriów akceptacji<ref>Chrapko M. (2015)., s. 156</ref>.
# '''Konfirmacja''' - [[implementacja]] historyjki powinna zostać potwierdzona poprzez odpowiednie testy akceptacyjne. Testy akceptacyjne zwykle są opisywane po drugiej stronie karteczek z historyjkami. Uznaje się, że jedna historyjka nie powinna mieć więcej niż dziesięć kryteriów akceptacji<ref>Chrapko M. (2015)., s. 156</ref>.


Powyższy podział jest w języku angielskim nazywany "The three C`s" (trzy "C") - od angielskich słów "Card" (karta), "Conversation" (konwersacja) i "Confirmation" (konfirmacja).
Powyższy podział jest w języku angielskim nazywany "The three C`s" (trzy "C") - od angielskich słów "Card" (karta), "Conversation" (konwersacja) i "Confirmation" (konfirmacja).
Linia 69: Linia 55:
* zespół deklaruje, że pracę nad daną funkcjonalnością rozpocznie dopiero po jej dokładnym omówieniu,
* zespół deklaruje, że pracę nad daną funkcjonalnością rozpocznie dopiero po jej dokładnym omówieniu,
* Product owner natomiast deklaruje, że będzie dostępny zawsze, gdy zespół będzie chciał z nim rozmawiać<ref> Cohn M. (2009)., s. 239</ref>.
* Product owner natomiast deklaruje, że będzie dostępny zawsze, gdy zespół będzie chciał z nim rozmawiać<ref> Cohn M. (2009)., s. 239</ref>.
{{infobox5|list1={{i5link|a=[[Backlog sprintu]]}} &mdash; {{i5link|a=[[Backlog produktu]]}} &mdash; {{i5link|a=[[Feature-Driven Development]]}} &mdash; {{i5link|a=[[Scrum of scrums]]}} &mdash; {{i5link|a=[[Getting Things Done]]}} &mdash; {{i5link|a=[[Technika MoSCoW]]}} &mdash; {{i5link|a=[[Webmaster]]}} &mdash; {{i5link|a=[[Testowanie w projekcie]]}} &mdash; {{i5link|a=[[Ganttproject]]}} }}


==Przypisy==
==Przypisy==
Linia 75: Linia 63:
==Bibliografia==
==Bibliografia==
<noautolinks>
<noautolinks>
* Chrapko M. (2015). ''Scrum. O zwinnym zarządzaniu projektami wydanie II rozszerzone'', Wydawnictwo Helion, Gliwice
* Chrapko M. (2015), ''Scrum: o zwinnym zarządzaniu projektami'', Wydawnictwo Helion, Gliwice
* Leffingwell D., Behrens P. (2009). A User Story Primer
* Leffingwell D., Behrens P. (2009), ''A User Story Primer''
* Pfahl D. (2014). ''[https://courses.cs.ut.ee/MTAT.03.094/2015_fall/uploads/Main/SE2014-handout11.pdf Lecture 11: Agile/Lean Methods]''
* Sachdeva S. (2016), ''Scrum Methodology'', International Journal Of Engineering And Computer Science, nr 5
* Sachdeva S. (2016). ''[https://www.academia.edu/26010951/Scrum_Methodology Scrum Methodology]'', "International Journal Of Engineering And Computer Science", nr 5
</noautolinks>
</noautolinks>


{{a|Karolina Zasada}}
{{a|Karolina Zasada}}
 
[[Kategoria:Techniki zwinne]]
[[Kategoria:Zarządzanie projektami]]


{{#metamaster:description|Zapoznaj się z user stories - sposobem zapisu wymagań klienta stosowanym w metodykach zwinnych, takich jak Scrum czy Kanban. Dowiedz się więcej.}}
{{#metamaster:description|Zapoznaj się z user stories - sposobem zapisu wymagań klienta stosowanym w metodykach zwinnych, takich jak Scrum czy Kanban. Dowiedz się więcej.}}

Aktualna wersja na dzień 19:31, 17 gru 2023

Historyjka użytkownika (ang. User story) jest sposobem zapisu wymagań klienta. Metoda ta została zaproponowana przez Kenta Becka i Martina Fowlera - twórców metodyki Extreme Programming[1], i jest często stosowana do gromadzenia wymagań w metodykach zwinnych np. Scrum, Kanban czy właśnie Extreme Programming.

TL;DR

User story jest sposobem zapisu wymagań klienta w metodykach zwinnych. Składa się z trzech elementów: karty, konwersacji i konfirmacji. Każda historyjka powinna być istniejąca samodzielnie, negocjowalna, wartościowa, estymowalna, mała i testowalna. W metodyce Scrum historyjki są przechowywane w backlogu produktu, a podczas planowania sprintu zespół deweloperski wybiera, które z nich zostaną zrealizowane. Historyjki są umową pomiędzy zespołem deweloperskim a Product ownerem.

Konstrukcja

User story to krótki opis wybranej funkcjonalności, napisany z punktu widzenia docelowego użytkownika danego produktu. Opis taki, zwykle jednozdaniowy, zawiera jedynie informacje najważniejsze z punktu widzenia przyszłego użytkownika - jest on zasygnalizowaniem problemu oraz punktem wyjścia do dyskusji o sposobach jego rozwiązania.

Tradycyjnie, historyjki użytkownika zapisywane są na niewielkich kartkach papieru lub kartonikach - dzięki temu możliwe jest ich fizyczne umieszczenie na Scrum board lub Kanban Board. Rozmiar kartek ma również wpływ na to, że historyjki użytkownika zapisane na nich powinny być możliwie krótkie i zwięzłe.

Jeden z najprostszych, a także najpopularniejszy szablon zapisu historyjki użytkownika wygląda następująco[2]:

Jako<Kto?>chcę wykonać<Co?>aby<Dlaczego?>.

Kluczowe w tworzeniu historyjki jest odpowiedź na trzy pytania widoczne we wzorze:

  1. Kto? - informacja na temat użytkownika systemu, jego typu.
  2. Co? - informacja o zadaniu, jakie dany użytkownik ma wykonać.
  3. Dlaczego? - informacja o oczekiwanym wyniku wykonanego zadania.

W języku angielskim te trzy pytania układają się w tzw. “Trzy W": Who-What-Why.

Przykładowa historyjka użytkownika:

Jako klient sklepu chcę dodać produkt do koszyka aby go później kupić.

Powyższy szablon może być oczywiście podstawą do modyfikacji - jeżeli realizowany projekt tego wymaga, może on zostać rozbudowany o dodatkowe informacje lub okrojony, jeśli dana informacja nie jest akurat w danym projekcie potrzebna.

Podczas tworzenia historyjek użytkownika należy pamiętać, aby opisywały tylko takie funkcjonalności, które mają rzeczywistą wartość dla użytkownika - nie uwzględniamy w nich informacji takich jak sposób realizacji danego zadania ani szczegółów technicznych - np. używanego języka programowania[3].

Elementy User story - trzy "K"

Każda historyjka użytkownika jest złożona z trzech poniższych elementów[4]:

  1. Karta - historyjka zapisana jest na niewielkiej kartce papieru. Kratka sama w sobie nie jest wymaganiem (ma za mało miejsca, aby umieścić na niej wszystkie niezbędne informacje), ale jest fizyczną reprezentacją wymagania, ułatwiającą pracę z wymaganiami, np. planowanie pracy.
  2. Konwersacja - historyjka użytkownika jest podstawą do rozmowy pomiędzy wszystkimi członkami zespołu projektowego, mającej na celu ustalenie wszystkich szczegółów koniecznych do prawidłowego zaimplementowania historyjki w produkcie.
  3. Konfirmacja - implementacja historyjki powinna zostać potwierdzona poprzez odpowiednie testy akceptacyjne. Testy akceptacyjne zwykle są opisywane po drugiej stronie karteczek z historyjkami. Uznaje się, że jedna historyjka nie powinna mieć więcej niż dziesięć kryteriów akceptacji[5].

Powyższy podział jest w języku angielskim nazywany "The three C`s" (trzy "C") - od angielskich słów "Card" (karta), "Conversation" (konwersacja) i "Confirmation" (konfirmacja).

Atrybuty User story

Zgodnie z techniką INVEST, każda historyjka użytkownika powinna być[6]:

  • Istniejąca samodzielnie (ang. Independent).
  • Negocjowalna (ang. Negotiable).
  • Wartościowa (ang. Valuable).
  • Estymowalna (ang. Estimable)
  • Mała (ang. Small).
  • Testowalna (ang. Testable).

User stories w Scrum

W metodyce Scrum format historyjki użytkownika jest zwykle stosowany do przechowywania wymagań klienta w backlog produktu. Osobą odpowiedzialną za tworzenie historyjek użytkownika jest Product owner[7]. Jest on również odpowiedzialny za przygotowanie kryteriów akceptacji dla każdej historyjki[8].

Podczas planowania sprintu zespół deweloperski wybiera, które historyjki zostaną zrealizowane w najbliższym Sprincie, a następnie dokonuje dekompozycji historyjek na zadania możliwe do wykonania przez jedną osobę.

Historyjka użytkownika w scrum jest pewnego rodzaju umową pomiędzy zespołem deweloperskim a Product ownerem:

  • zespół deklaruje, że pracę nad daną funkcjonalnością rozpocznie dopiero po jej dokładnym omówieniu,
  • Product owner natomiast deklaruje, że będzie dostępny zawsze, gdy zespół będzie chciał z nim rozmawiać[9].


User storiesartykuły polecane
Backlog sprintuBacklog produktuFeature-Driven DevelopmentScrum of scrumsGetting Things DoneTechnika MoSCoWWebmasterTestowanie w projekcieGanttproject

Przypisy

  1. Chrapko M. (2015)., s. 151
  2. Chrapko M. (2015). , s. 151
  3. Chrapko M. (2015), s. 154
  4. Jeffries R. (2011)., 2011
  5. Chrapko M. (2015)., s. 156
  6. Chrapko M. (2015). , s. 158
  7. Sachdeva S. (2016), s. 16797
  8. Chrapko M. (2015)., s. 156
  9. Cohn M. (2009)., s. 239

Bibliografia

  • Chrapko M. (2015), Scrum: o zwinnym zarządzaniu projektami, Wydawnictwo Helion, Gliwice
  • Leffingwell D., Behrens P. (2009), A User Story Primer
  • Sachdeva S. (2016), Scrum Methodology, International Journal Of Engineering And Computer Science, nr 5


Autor: Karolina Zasada