SlideShare a Scribd company logo
1 of 17
Download to read offline
Jak technika User story/Acceptance
Criteria pozwala definiować
wymagania w SCRUM… ?
Warszawa, 23 listopad 2013
Planowanie
Po co planujemy ???
Żeby móc podejmować
trafne decyzje w kontekście:
• Rozwiązań technicznych
• Korzyści biznesowych
• Decyzji inwestycyjnych
Żeby móc koordynować
pracę zespołu oraz
efektywnie współpracować z
Interesariuszami

Żeby jakość produktu
była lepsza

2
Jak można planować skutecznie?


Planuj tak daleko jak jesteś w stanie



Oszacuj rozmiar i estymuj prace
zespołowo



Postaw jakość na pierwszym planie,
nie skupiaj się wyłącznie na realizacji



Gromadź dane historyczne, umiej je
czytać i wykorzystać



Monitoruj wyniki prac na wielu
płaszczyznach

3
Jak planować skutecznie w projektach
scrumowych?


Historyjki użytkownika (user stories)



Technika estymacji
(planning poker)



Wykresy wypalenia (burndown charts)



Tablica scrum (scrum board)



Działający kod na koniec sprintu (shippable code)

4
Co to jest user story ??
Na początku pracy nad produktem zbierana jest lista wymagań użytkownika, są
one przeważnie gromadzone w postaci "historyjek" (ang. User Stories). Każda
historyjka opisuje jedną cechę systemu. Później Właściciel Produktu (ang.
Product Owner) na ich bazie buduje Produkt Backlog.

Jakkolwiek sposób przedstawienia itemów produkt backlogu zależy od zespołu
o tyle technika user stories została uznana jako najlepsza i najpopularniejsza
forma zapisu wymagań Produkt Backlogu. Mike Cohn

5
Atrybuty historyjek
Napisane z punktu widzenia użytkownika, zawierają krótki opis interakcji użytkownika
za stroną internetową lub aplikacją w celu osiągnięcia zysku/jakiejś korzyści
Koncentruje się na wyniku działania/wartości biznesowej jaką powinien otrzymać
użytkownik
Może napisać ją każdy członek zespołu ale to Produkt Owner odpowiada finalnie za
każde user story jako składową jednostkę Produkt Backlog
Może być tworzone na różnym poziomie szczegółowości (high lub low level), w razie
potrzeby dzielone na mniejsze historyjki (struktura drzewa, epic-child)

Posiadają predefiniowany format zapisu

6
Format zapisu user stories
Identyfikacja osiągnięcia
użytkownika lub celu
budowania nowej
funkcjonalności pozwoli
upewnić się o jej
potrzebie.

Identyfikacja
użytkownika pozwoli
zobaczyć kto i w jaki
sposób będzie używał
nowej funkcjonalności.

Jako użytkownik X

chcę wykonać
czynność Y

aby osiągnąć cel Z.

Czynność
opisuje co ma się stać
na stronie/w aplikacji
po interakcji z
użytkownikiem ale
nie jak ma to się stać.
7
Przykłady kilku historyjek
Jako „uczestnik targów” chcę „mieć możliwość rejestracji online na
stronie internetowej targów”, ponieważ „rejestracja przebiegnie znacznie
szybciej ” i „nie będę musiał wypełniać dokumentów papierowych”.

Jako „robot indeksujący google” chcę „mieć dostęp do sitemap xml i
html strony internetowej Z” tak abym „mógł w ciągu kilku dni
zaindeksować 100k stron w wyszukiwarce Google”.

Jako „osoba regularnie kupująca książki przygodowe” chcę móc
przeczytać recenzję wybranych książek przygodowych na stronie XXX
aby zdecydować którą książkę warto kupić.

8
Historyjki wysokiej jakości

I – Independent
N – Negotiable
V – Valuable
E – Estimable
S – Small
T – Testable

9
Kiedy historyjki są gotowe ??
 Kryteria akceptacji (acceptance criteria) – czyli co i jak trzeba
zrealizować w ramach historyjki
 Definicja Przygotowania (Definition of Ready) – kiedy
historyjka jest gotowa na tyle aby
mogła zostać podjęta
 Definicja Wykonania
(Definition of Done) – jakie
warunki zostały spełnione
dla każdej z historyjek?

10
Przykład historyjki z kryteriami akceptacji
Historyjka użytkownika:
Jako „uczestnik targów” chcę „mieć możliwość rejestracji online na stronie
internetowej targów”, ponieważ „rejestracja przebiegnie znacznie szybciej ” i
„nie będę musiał wypełniać dokumentów papierowych”.
Potencjalne kryteria akceptacji:
 Użytkownik nie może zakończyć procesu rejestracji bez wypełnienia
wszystkich obowiązkowych pól w formularzu (pól z gwiazdką)
 Wszystkie informacje podane przez użytkownika w formularzu
rejestracyjnym będą przechowywane w bazie danych MySql
 Email potwierdzający poprawną rejestrację zostanie wysłany do
użytkownika po poprawnym wypełnieniu formularza
 Płatność za konferencję może być dokonana przez bankowość
elektroniczną lub kartą kredytową

11
Przepływ stanów historyjki

12
Cykl życia historyjki w Scrum Framework

13
• Tworzy wspólny grunt pod dyskusję całego
zespołu
• Wyzwala w zespole kreatywność i chęć
wejścia w buty klienta, postawienia się w
wielu rolach

Ryzyka

Zalety

Zalety i potencjalne ryzyka wykorzystania techniki

• Tyrania podejścia Waterfall
• Próby przepisywania wszystkiego
na historyjki użytkownika (trzeba
mieć świadomość, że bugi, spike
czy taski mogą być częścią
Produkt Backlogu)

• Ułatwia komunikację w zespole
• Pozwala na lepszą selekcję
funkcjonalności które warto dostarczyć
szybko, dają klientowi potencjalnie duży
zysk

• Naginanie ustalonych wcześniej
zasad Definition of Ready i
Definition of Done

• Poprawia widoczność i utrzymanie kontroli
nad Produkt Backlogiem

14
Postaw wartość i jakość Swojego
produktu na pierwszym planie dzięki
tworzeniu wartościowych historyjek
użytkownika
Rafał Stańczak

15
16
17

More Related Content

What's hot

User Story Splitting
User Story SplittingUser Story Splitting
User Story Splittingtrishly
 
오픈소스를 활용한 Batch_처리_플랫폼_공유
오픈소스를 활용한 Batch_처리_플랫폼_공유오픈소스를 활용한 Batch_처리_플랫폼_공유
오픈소스를 활용한 Batch_처리_플랫폼_공유knight1128
 
Apache Airflow | What Is An Operator
Apache Airflow | What Is An OperatorApache Airflow | What Is An Operator
Apache Airflow | What Is An OperatorMarc Lamberti
 
Provisioning and automating high availability postgres on aws ec2 (1)
Provisioning and automating high availability postgres on aws ec2 (1)Provisioning and automating high availability postgres on aws ec2 (1)
Provisioning and automating high availability postgres on aws ec2 (1)Payal Singh
 
How to Break the Requirements into User Stories
How to Break the Requirements into User StoriesHow to Break the Requirements into User Stories
How to Break the Requirements into User StoriesShriKant Vashishtha
 
Logging using ELK Stack for Microservices
Logging using ELK Stack for MicroservicesLogging using ELK Stack for Microservices
Logging using ELK Stack for MicroservicesVineet Sabharwal
 
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기AWSKRUG - AWS한국사용자모임
 
The JVM is your friend
The JVM is your friendThe JVM is your friend
The JVM is your friendKai Koenig
 
Vertical Story Slicing Takes the Cake!
Vertical Story Slicing Takes the Cake!Vertical Story Slicing Takes the Cake!
Vertical Story Slicing Takes the Cake!kporemski
 
Airflow를 이용한 데이터 Workflow 관리
Airflow를 이용한  데이터 Workflow 관리Airflow를 이용한  데이터 Workflow 관리
Airflow를 이용한 데이터 Workflow 관리YoungHeon (Roy) Kim
 
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유Hyojun Jeon
 
Reactive Programming for Real Use Cases
Reactive Programming for Real Use CasesReactive Programming for Real Use Cases
Reactive Programming for Real Use CasesAlex Soto
 
[Pgday.Seoul 2018] Greenplum의 노드 분산 설계
[Pgday.Seoul 2018]  Greenplum의 노드 분산 설계[Pgday.Seoul 2018]  Greenplum의 노드 분산 설계
[Pgday.Seoul 2018] Greenplum의 노드 분산 설계PgDay.Seoul
 
Pulling Value Lean And Kanban
Pulling Value Lean And KanbanPulling Value Lean And Kanban
Pulling Value Lean And Kanbandavidpeterjoyce
 
Introducing Agile User Stories
Introducing Agile User StoriesIntroducing Agile User Stories
Introducing Agile User StoriesRam Srivastava
 
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축Juhong Park
 
Creating Continuously Up to Date Materialized Aggregates
Creating Continuously Up to Date Materialized AggregatesCreating Continuously Up to Date Materialized Aggregates
Creating Continuously Up to Date Materialized AggregatesEDB
 
프로덕트를 빠르게 개선하기 위한 베이지안 A/B 테스트
프로덕트를 빠르게 개선하기 위한 베이지안 A/B 테스트프로덕트를 빠르게 개선하기 위한 베이지안 A/B 테스트
프로덕트를 빠르게 개선하기 위한 베이지안 A/B 테스트Minho Lee
 

What's hot (20)

User Story Splitting
User Story SplittingUser Story Splitting
User Story Splitting
 
오픈소스를 활용한 Batch_처리_플랫폼_공유
오픈소스를 활용한 Batch_처리_플랫폼_공유오픈소스를 활용한 Batch_처리_플랫폼_공유
오픈소스를 활용한 Batch_처리_플랫폼_공유
 
Apache Airflow | What Is An Operator
Apache Airflow | What Is An OperatorApache Airflow | What Is An Operator
Apache Airflow | What Is An Operator
 
Provisioning and automating high availability postgres on aws ec2 (1)
Provisioning and automating high availability postgres on aws ec2 (1)Provisioning and automating high availability postgres on aws ec2 (1)
Provisioning and automating high availability postgres on aws ec2 (1)
 
How to Break the Requirements into User Stories
How to Break the Requirements into User StoriesHow to Break the Requirements into User Stories
How to Break the Requirements into User Stories
 
Logging using ELK Stack for Microservices
Logging using ELK Stack for MicroservicesLogging using ELK Stack for Microservices
Logging using ELK Stack for Microservices
 
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
 
The JVM is your friend
The JVM is your friendThe JVM is your friend
The JVM is your friend
 
Vertical Story Slicing Takes the Cake!
Vertical Story Slicing Takes the Cake!Vertical Story Slicing Takes the Cake!
Vertical Story Slicing Takes the Cake!
 
Airflow를 이용한 데이터 Workflow 관리
Airflow를 이용한  데이터 Workflow 관리Airflow를 이용한  데이터 Workflow 관리
Airflow를 이용한 데이터 Workflow 관리
 
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유
 
Main Memory
Main MemoryMain Memory
Main Memory
 
Reactive Programming for Real Use Cases
Reactive Programming for Real Use CasesReactive Programming for Real Use Cases
Reactive Programming for Real Use Cases
 
[Pgday.Seoul 2018] Greenplum의 노드 분산 설계
[Pgday.Seoul 2018]  Greenplum의 노드 분산 설계[Pgday.Seoul 2018]  Greenplum의 노드 분산 설계
[Pgday.Seoul 2018] Greenplum의 노드 분산 설계
 
Pulling Value Lean And Kanban
Pulling Value Lean And KanbanPulling Value Lean And Kanban
Pulling Value Lean And Kanban
 
Introducing Agile User Stories
Introducing Agile User StoriesIntroducing Agile User Stories
Introducing Agile User Stories
 
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
 
Creating Continuously Up to Date Materialized Aggregates
Creating Continuously Up to Date Materialized AggregatesCreating Continuously Up to Date Materialized Aggregates
Creating Continuously Up to Date Materialized Aggregates
 
프로덕트를 빠르게 개선하기 위한 베이지안 A/B 테스트
프로덕트를 빠르게 개선하기 위한 베이지안 A/B 테스트프로덕트를 빠르게 개선하기 위한 베이지안 A/B 테스트
프로덕트를 빠르게 개선하기 위한 베이지안 A/B 테스트
 
User Stories Fundamentals
User Stories FundamentalsUser Stories Fundamentals
User Stories Fundamentals
 

Similar to Jak technika user story & acceptance criteria pozwala definiować wymagania w SCRUM

oSPE ecommerce - proaktywna komunikacja dla branży ecommerce
oSPE ecommerce - proaktywna komunikacja dla branży ecommerceoSPE ecommerce - proaktywna komunikacja dla branży ecommerce
oSPE ecommerce - proaktywna komunikacja dla branży ecommerceWojciech Kaszycki
 
Projektowanie stron www dla ngo i projektow eko - case study
Projektowanie stron www dla ngo i projektow eko - case studyProjektowanie stron www dla ngo i projektow eko - case study
Projektowanie stron www dla ngo i projektow eko - case studyKrakweb
 
Bezpłatna chmura obliczeniowa dla organizacji pozarządowych
Bezpłatna chmura obliczeniowa dla organizacji pozarządowychBezpłatna chmura obliczeniowa dla organizacji pozarządowych
Bezpłatna chmura obliczeniowa dla organizacji pozarządowychRyszard Dałkowski
 
Zawód: analityk. Google Analytics i nie tylko
Zawód: analityk. Google Analytics i nie tylkoZawód: analityk. Google Analytics i nie tylko
Zawód: analityk. Google Analytics i nie tylkoKrzysztof Marzec
 
Funkcjonalności platform e-commerce B2B, które zwiększają sprzedaż i konwersję
Funkcjonalności platform e-commerce B2B, które zwiększają sprzedaż i konwersjęFunkcjonalności platform e-commerce B2B, które zwiększają sprzedaż i konwersję
Funkcjonalności platform e-commerce B2B, które zwiększają sprzedaż i konwersjęMarek Bicz
 
Clv Kogo pozyskujesz klienta czy jego transakcje
Clv Kogo pozyskujesz klienta czy jego transakcjeClv Kogo pozyskujesz klienta czy jego transakcje
Clv Kogo pozyskujesz klienta czy jego transakcjeMichal Kreczmar
 
Kupuj wartosc a nie transakcje
Kupuj wartosc a nie transakcjeKupuj wartosc a nie transakcje
Kupuj wartosc a nie transakcjeŁukasz Dziekan
 
Custom policies w Azure AD B2C jak je tworzyć, żeby nie zwariować?
Custom policies w Azure AD B2C jak je tworzyć, żeby nie zwariować?Custom policies w Azure AD B2C jak je tworzyć, żeby nie zwariować?
Custom policies w Azure AD B2C jak je tworzyć, żeby nie zwariować?Piotr Grabski-Gradziński
 
IxDA Poznan #4 Mariusz Dziechciaronek: Google analytics jako narzędzie optyma...
IxDA Poznan #4 Mariusz Dziechciaronek: Google analytics jako narzędzie optyma...IxDA Poznan #4 Mariusz Dziechciaronek: Google analytics jako narzędzie optyma...
IxDA Poznan #4 Mariusz Dziechciaronek: Google analytics jako narzędzie optyma...IxDA Poznan
 
Gherkin - jak zostać poetą w IT
Gherkin - jak zostać poetą w ITGherkin - jak zostać poetą w IT
Gherkin - jak zostać poetą w ITThe Software House
 
Katalog wydarzeń - Arrow ECS Events - Case Study
Katalog wydarzeń - Arrow ECS Events - Case StudyKatalog wydarzeń - Arrow ECS Events - Case Study
Katalog wydarzeń - Arrow ECS Events - Case StudyKrakweb
 
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?PHPCon Poland
 

Similar to Jak technika user story & acceptance criteria pozwala definiować wymagania w SCRUM (20)

WarszawQA_#9
WarszawQA_#9WarszawQA_#9
WarszawQA_#9
 
Zwinny_Analityk_SIW_Panel
Zwinny_Analityk_SIW_PanelZwinny_Analityk_SIW_Panel
Zwinny_Analityk_SIW_Panel
 
oSPE ecommerce - proaktywna komunikacja dla branży ecommerce
oSPE ecommerce - proaktywna komunikacja dla branży ecommerceoSPE ecommerce - proaktywna komunikacja dla branży ecommerce
oSPE ecommerce - proaktywna komunikacja dla branży ecommerce
 
Zarządzanie umowami
Zarządzanie umowamiZarządzanie umowami
Zarządzanie umowami
 
Projektowanie stron www dla ngo i projektow eko - case study
Projektowanie stron www dla ngo i projektow eko - case studyProjektowanie stron www dla ngo i projektow eko - case study
Projektowanie stron www dla ngo i projektow eko - case study
 
Wydajny frontend 2023
Wydajny frontend 2023Wydajny frontend 2023
Wydajny frontend 2023
 
Bezpłatna chmura obliczeniowa dla organizacji pozarządowych
Bezpłatna chmura obliczeniowa dla organizacji pozarządowychBezpłatna chmura obliczeniowa dla organizacji pozarządowych
Bezpłatna chmura obliczeniowa dla organizacji pozarządowych
 
Zawód: analityk. Google Analytics i nie tylko
Zawód: analityk. Google Analytics i nie tylkoZawód: analityk. Google Analytics i nie tylko
Zawód: analityk. Google Analytics i nie tylko
 
Funkcjonalności platform e-commerce B2B, które zwiększają sprzedaż i konwersję
Funkcjonalności platform e-commerce B2B, które zwiększają sprzedaż i konwersjęFunkcjonalności platform e-commerce B2B, które zwiększają sprzedaż i konwersję
Funkcjonalności platform e-commerce B2B, które zwiększają sprzedaż i konwersję
 
Clv Kogo pozyskujesz klienta czy jego transakcje
Clv Kogo pozyskujesz klienta czy jego transakcjeClv Kogo pozyskujesz klienta czy jego transakcje
Clv Kogo pozyskujesz klienta czy jego transakcje
 
Kupuj wartosc a nie transakcje
Kupuj wartosc a nie transakcjeKupuj wartosc a nie transakcje
Kupuj wartosc a nie transakcje
 
Custom policies w Azure AD B2C jak je tworzyć, żeby nie zwariować?
Custom policies w Azure AD B2C jak je tworzyć, żeby nie zwariować?Custom policies w Azure AD B2C jak je tworzyć, żeby nie zwariować?
Custom policies w Azure AD B2C jak je tworzyć, żeby nie zwariować?
 
IxDA Poznan #4 Mariusz Dziechciaronek: Google analytics jako narzędzie optyma...
IxDA Poznan #4 Mariusz Dziechciaronek: Google analytics jako narzędzie optyma...IxDA Poznan #4 Mariusz Dziechciaronek: Google analytics jako narzędzie optyma...
IxDA Poznan #4 Mariusz Dziechciaronek: Google analytics jako narzędzie optyma...
 
Gherkin - jak zostać poetą w IT
Gherkin - jak zostać poetą w ITGherkin - jak zostać poetą w IT
Gherkin - jak zostać poetą w IT
 
Katalog wydarzeń - Arrow ECS Events - Case Study
Katalog wydarzeń - Arrow ECS Events - Case StudyKatalog wydarzeń - Arrow ECS Events - Case Study
Katalog wydarzeń - Arrow ECS Events - Case Study
 
8 jaromir dzialo
8 jaromir dzialo8 jaromir dzialo
8 jaromir dzialo
 
Super-Pharm z super UX-em
Super-Pharm z super UX-emSuper-Pharm z super UX-em
Super-Pharm z super UX-em
 
Silverlight i PHP
Silverlight i PHPSilverlight i PHP
Silverlight i PHP
 
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?
 
Systemy dedykowane (pdf)
Systemy dedykowane (pdf)Systemy dedykowane (pdf)
Systemy dedykowane (pdf)
 

Jak technika user story & acceptance criteria pozwala definiować wymagania w SCRUM

  • 1. Jak technika User story/Acceptance Criteria pozwala definiować wymagania w SCRUM… ? Warszawa, 23 listopad 2013
  • 2. Planowanie Po co planujemy ??? Żeby móc podejmować trafne decyzje w kontekście: • Rozwiązań technicznych • Korzyści biznesowych • Decyzji inwestycyjnych Żeby móc koordynować pracę zespołu oraz efektywnie współpracować z Interesariuszami Żeby jakość produktu była lepsza 2
  • 3. Jak można planować skutecznie?  Planuj tak daleko jak jesteś w stanie  Oszacuj rozmiar i estymuj prace zespołowo  Postaw jakość na pierwszym planie, nie skupiaj się wyłącznie na realizacji  Gromadź dane historyczne, umiej je czytać i wykorzystać  Monitoruj wyniki prac na wielu płaszczyznach 3
  • 4. Jak planować skutecznie w projektach scrumowych?  Historyjki użytkownika (user stories)  Technika estymacji (planning poker)  Wykresy wypalenia (burndown charts)  Tablica scrum (scrum board)  Działający kod na koniec sprintu (shippable code) 4
  • 5. Co to jest user story ?? Na początku pracy nad produktem zbierana jest lista wymagań użytkownika, są one przeważnie gromadzone w postaci "historyjek" (ang. User Stories). Każda historyjka opisuje jedną cechę systemu. Później Właściciel Produktu (ang. Product Owner) na ich bazie buduje Produkt Backlog. Jakkolwiek sposób przedstawienia itemów produkt backlogu zależy od zespołu o tyle technika user stories została uznana jako najlepsza i najpopularniejsza forma zapisu wymagań Produkt Backlogu. Mike Cohn 5
  • 6. Atrybuty historyjek Napisane z punktu widzenia użytkownika, zawierają krótki opis interakcji użytkownika za stroną internetową lub aplikacją w celu osiągnięcia zysku/jakiejś korzyści Koncentruje się na wyniku działania/wartości biznesowej jaką powinien otrzymać użytkownik Może napisać ją każdy członek zespołu ale to Produkt Owner odpowiada finalnie za każde user story jako składową jednostkę Produkt Backlog Może być tworzone na różnym poziomie szczegółowości (high lub low level), w razie potrzeby dzielone na mniejsze historyjki (struktura drzewa, epic-child) Posiadają predefiniowany format zapisu 6
  • 7. Format zapisu user stories Identyfikacja osiągnięcia użytkownika lub celu budowania nowej funkcjonalności pozwoli upewnić się o jej potrzebie. Identyfikacja użytkownika pozwoli zobaczyć kto i w jaki sposób będzie używał nowej funkcjonalności. Jako użytkownik X chcę wykonać czynność Y aby osiągnąć cel Z. Czynność opisuje co ma się stać na stronie/w aplikacji po interakcji z użytkownikiem ale nie jak ma to się stać. 7
  • 8. Przykłady kilku historyjek Jako „uczestnik targów” chcę „mieć możliwość rejestracji online na stronie internetowej targów”, ponieważ „rejestracja przebiegnie znacznie szybciej ” i „nie będę musiał wypełniać dokumentów papierowych”. Jako „robot indeksujący google” chcę „mieć dostęp do sitemap xml i html strony internetowej Z” tak abym „mógł w ciągu kilku dni zaindeksować 100k stron w wyszukiwarce Google”. Jako „osoba regularnie kupująca książki przygodowe” chcę móc przeczytać recenzję wybranych książek przygodowych na stronie XXX aby zdecydować którą książkę warto kupić. 8
  • 9. Historyjki wysokiej jakości I – Independent N – Negotiable V – Valuable E – Estimable S – Small T – Testable 9
  • 10. Kiedy historyjki są gotowe ??  Kryteria akceptacji (acceptance criteria) – czyli co i jak trzeba zrealizować w ramach historyjki  Definicja Przygotowania (Definition of Ready) – kiedy historyjka jest gotowa na tyle aby mogła zostać podjęta  Definicja Wykonania (Definition of Done) – jakie warunki zostały spełnione dla każdej z historyjek? 10
  • 11. Przykład historyjki z kryteriami akceptacji Historyjka użytkownika: Jako „uczestnik targów” chcę „mieć możliwość rejestracji online na stronie internetowej targów”, ponieważ „rejestracja przebiegnie znacznie szybciej ” i „nie będę musiał wypełniać dokumentów papierowych”. Potencjalne kryteria akceptacji:  Użytkownik nie może zakończyć procesu rejestracji bez wypełnienia wszystkich obowiązkowych pól w formularzu (pól z gwiazdką)  Wszystkie informacje podane przez użytkownika w formularzu rejestracyjnym będą przechowywane w bazie danych MySql  Email potwierdzający poprawną rejestrację zostanie wysłany do użytkownika po poprawnym wypełnieniu formularza  Płatność za konferencję może być dokonana przez bankowość elektroniczną lub kartą kredytową 11
  • 13. Cykl życia historyjki w Scrum Framework 13
  • 14. • Tworzy wspólny grunt pod dyskusję całego zespołu • Wyzwala w zespole kreatywność i chęć wejścia w buty klienta, postawienia się w wielu rolach Ryzyka Zalety Zalety i potencjalne ryzyka wykorzystania techniki • Tyrania podejścia Waterfall • Próby przepisywania wszystkiego na historyjki użytkownika (trzeba mieć świadomość, że bugi, spike czy taski mogą być częścią Produkt Backlogu) • Ułatwia komunikację w zespole • Pozwala na lepszą selekcję funkcjonalności które warto dostarczyć szybko, dają klientowi potencjalnie duży zysk • Naginanie ustalonych wcześniej zasad Definition of Ready i Definition of Done • Poprawia widoczność i utrzymanie kontroli nad Produkt Backlogiem 14
  • 15. Postaw wartość i jakość Swojego produktu na pierwszym planie dzięki tworzeniu wartościowych historyjek użytkownika Rafał Stańczak 15
  • 16. 16
  • 17. 17