29
Backlog grooming med User Stories 14. juni 2012 Jesper Thaning BestBrains

Best brains backlog grooming juni2012

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Best brains backlog grooming juni2012

Backlog grooming med User Stories

14. juni 2012

Jesper Thaning

BestBrains

Page 2: Best brains backlog grooming juni2012

Dagsorden

§  Fra ide til færdig feature §  User stories §  Grooming

§  Estimering §  Nedbrydning §  Klargøring

Page 3: Best brains backlog grooming juni2012

3

Hvad  er  en  User  Story?  

…  en  måde  at  skrive  krav  på  …  sæ7er  brugeren  i  centrum  

Page 4: Best brains backlog grooming juni2012

User Stories gør det nemmere at: •  få fokus på det mest nødvendige •  smide det ikke-værdiskabende væk

Page 5: Best brains backlog grooming juni2012

5

Hvad er en god User Story? En god User Story er: Værdiskabende

Page 6: Best brains backlog grooming juni2012

6

En god User Story er: Værdiskabende Lille

Page 7: Best brains backlog grooming juni2012

7

En god User Story er: Værdiskabende Lille Uafhængig

Page 8: Best brains backlog grooming juni2012

8

En god User Story er: Værdiskabende Lille Uafhængig og kan: Estimeres

Page 9: Best brains backlog grooming juni2012

9

En god User Story er: Værdiskabende Lille Uafhængig og kan: Estimeres Forhandles

Page 10: Best brains backlog grooming juni2012

10

En god User Story er: Værdiskabende Lille Uafhængig og kan: Estimeres Forhandles Testes

Page 11: Best brains backlog grooming juni2012

11

Skabelon  for  en  User  Story  

Som  <BRUGERROLLE>,  ønsker  jeg  at  <MÅL>  således  at  <VÆRDI>        Som  <HVEM>,  ønsker  jeg  at  <HVAD>  således  at  <HVORFOR>  

Page 12: Best brains backlog grooming juni2012

Beskrivelse Som en bilist ønsker jeg at vælge en ledig benzinstander således at jeg kan tanke benzin uden at skulle bruge mit kreditkort

Standervalg

Page 13: Best brains backlog grooming juni2012

13

Hvor kommer User Stories fra?

Hvad er råstofmaterialet for User Stories?

User  Story  

Ideer  

Business  Cases  

Behov  

Mål  

Page 14: Best brains backlog grooming juni2012

14

EsDmering  i  Story  Points  

Princip:    Man  vælger  en  “baseline”-­‐story  og  giver  den  f.eks.  2  point.    Andre  stories  esDmeres  i  forhold  Dl  baseline,  ud  fra  kompleksitet,    omfang,  sværhedsgrad.    Ikke  Dd!    Halvt  så  stor  =  1  point  Lidt  større  =  3  point  Ca.  dobbelt  så  stor  =  5  point  Fire  gange  så  stor  =  8  point  …    

Page 15: Best brains backlog grooming juni2012

EsDmering:  Planning  poker  

Page 16: Best brains backlog grooming juni2012

Det  værdifulde  ligger  ikke  i  at  fastlægge,  hvor  store  Dng  er.      

Det  værdifulde  (og  svære)  ligger  i  at  adskille  Dngene    for  at  kunne  Zerne  det  der  ikke  skaber  værdi.  

Page 17: Best brains backlog grooming juni2012

17

Nedbrydning: Motivation for at nedbryde Hvorfor nedbryde store user stories? •  For at kunne prioritere mellem vigtig og mindre vigtig funktionalitet •  Mindre user stories er nemmere at kode, teste, acceptere og måle fremdrift på •  Afdække og indkapsle afhængigheder •  Undgå at teamet finpudser for meget (gold-plating) 9 metoder til at nedbryde User Stories

Page 18: Best brains backlog grooming juni2012

18

Nedbrydning: Nedbrydningsteknikker

Metode#1: Nedbrydning i handlinger i en arbejdsproces For at kunne implementere en simpel end-to-end og putte komplicerede trin på bagefter

•  … ønsker jeg at vælge stander •  … ønsker jeg at vælge benzin •  … ønsker jeg at tanke benzin •  … ønsker jeg at betale for benzin •  … ønsker jeg at modtage kvittering for benzin

Som bilist ønsker jeg at købe benzin uden at skulle bruge mit kreditkort

Page 19: Best brains backlog grooming juni2012

19

Nedbrydning: Nedbrydningsteknikker

Metode#2: Nedbrydning i implementering af hver enkel forretningsregel

• … som almindelig kunde ønsker jeg at købe benzin • … som VIP kunde ønsker jeg at købe benzin • … ny kunde ønsker jeg at købe benzin som

Som kunde ønsker jeg at købe benzin

Page 20: Best brains backlog grooming juni2012

20

Nedbrydning: Nedbrydningsteknikker

Metode#3 Nedbrydning i stor indsats og efterfølgende Den første User Story bærer den tekniske byrde for de efterfølgende

Som en benzinkunde kan jeg betale for benzin med VISA, MasterCard, Diners Club, eller American Express, for at …

…kan jeg betale med én af kreditkorttyperne (VISA, MC, DC, AMEX). …kan jeg betale med alle fire kreditkorttyper (VISA, MC, DC, AMEX) (givet at en type allerede er implementeret).

Page 21: Best brains backlog grooming juni2012

21

Metode#4 Nedbrydning i simpel/kompleks Hvad er den simpleste version af denne funktionalitet? De mere komplekse variationer følger efter

• … mulighed for at indtaste kilometertal tilbage i tiden • … mulighed for at indtaste kilometer tal for flere biler

Som en kunde ønsker jeg at indtaste kilometertal

Page 22: Best brains backlog grooming juni2012

22

Nedbrydning: Nedbrydningsteknikker

Metode#5 Nedbrydning i variationer i data Hvilke typer af data skal systemet kunne håndtere. Hvad er den mest basale type?

Som kunde ønsker jeg at oplysninger om benzinstationen som jeg vil købe benzin på

• … oplysninger om stationens placering • … oplysninger om stationens standere • … oplysninger om stationens andre services • … oplysninger om stationens udstyr

Page 23: Best brains backlog grooming juni2012

23

Nedbrydning: Nedbrydningsteknikker

Metode#6 Nedbrydning i input metode Hvordan ser den simple brugergrænseflade ud? Den mere brugervenlige og smarte?

• … kan jeg vælge en stander med angivelser af hvilken type benzin man kan tanke • … kan jeg vælge en stander, der passer til min registrerede benzintype

Som kunde kan jeg vælge en benzin stander

Page 24: Best brains backlog grooming juni2012

24

Nedbrydning: Nedbrydningsteknikker

Metode#7 Nedbrydning i ydeevne Hvordan får vi det til at fungere? Hvordan får vi det til at gå hurtigt?

• … langsom betaling der viser et timeglas • … under 1 sekunder, så kunden ikke behøver at vente på betaling

Som kunde kan jeg betale for benzinen

Page 25: Best brains backlog grooming juni2012

25

Nedbrydning: Nedbrydningsteknikker

Metode#8 Nedbrydning i operationer Oprettelse, læsning, ændring, nedlæggelse

•  … oprette en benzintype •  … ændre en benzintype •  … slette en benzintype

Som kunde kan jeg registrere min benzintype i programmet

Bemærk at det er forskellige brugsscenarier eller situationer der kræver operationerne

Page 26: Best brains backlog grooming juni2012

26

Nedbrydning: Nedbrydningsteknikker

Metode#9 Nedbrydning i undersøgelse (spike) og implementation

• … hvordan kan systemet integrere med gængse smartphone navigatorer? • …implementere en løsning med beskeder i navigator

Ved dårlig forståelse af implementationen. Et område som teamet ikke har opereret i før enten teknisk eller forretningsområde.

Som kunde ønsker jeg at min navigator kan komme med forslag om at tanke billig benzin

Page 27: Best brains backlog grooming juni2012

27

Nedbrydning: Nedbrydningsteknikker

Metode#1 Nedbrydning i handlinger i en arbejdsproces Metode#2 Nedbrydning i implementering af hver enkel forretningsregel Metode#3 Nedbrydning i stor indsats og efterfølgende Metode#4 Nedbrydning i simpel/kompleks Metode#5 Nedbrydning i variationer i data Metode#6 Nedbrydning i inputmetode Metode#7 Nedbrydning i ydeevne Metode#8 Nedbrydning i operationer Metode#9 Nedbrydning i undersøgelse (spike) og implementation

Page 28: Best brains backlog grooming juni2012

Klargøring: Acceptkriterier

Yderligere detaljering af en User Story •  Hvad skal med? •  Hvad skal ikke med? •  Hvad skal demoes? •  Forretningsregler der skal overholdes

HVORFOR? •  Undgå tilbageløb og ventetid

Page 29: Best brains backlog grooming juni2012

Klargøring: Testscenarier

Testeksempler: •  Undgå tilbageløb i implementering – fejl •  Klar ide om hvornår User Story er færdig

Overskrifter på: •  Forventet opførsel (solskinsscenarie) •  Eksempler på uønsket opførsel (negativ scenarier)