Best brains backlog grooming juni2012

  • 637 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
637
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
9
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Backlog grooming med User Stories 14. juni 2012 Jesper Thaning BestBrains
  • 2. Dagsorden§  Fra ide til færdig feature §  User stories §  Grooming §  Estimering §  Nedbrydning §  Klargøring
  • 3. Hvad  er  en  User  Story?  …  en  måde  at  skrive  krav  på  …  sæ7er  brugeren  i  centrum   3
  • 4. User Stories gør det nemmere at: •  få fokus på det mest nødvendige •  smide det ikke-værdiskabende væk
  • 5. Hvad er en god User Story?En god User Story er:Værdiskabende 5
  • 6. En god User Story er:VærdiskabendeLille 6
  • 7. En god User Story er:VærdiskabendeLilleUafhængig 7
  • 8. En god User Story er:VærdiskabendeLilleUafhængigog kan:Estimeres 8
  • 9. En god User Story er:VærdiskabendeLilleUafhængigog kan:EstimeresForhandles 9
  • 10. En god User Story er:VærdiskabendeLilleUafhængigog kan:EstimeresForhandlesTestes 10
  • 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>   11
  • 12. StandervalgBeskrivelseSom en bilist ønsker jeg at vælge en ledigbenzinstander således at jeg kan tanke benzinuden at skulle bruge mit kreditkort
  • 13. Hvor kommer User Stories fra? Hvad er råstofmaterialet for User Stories? Ideer   Business   Cases   User  Story   Behov   Mål   13
  • 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  …     14
  • 15. EsDmering:  Planning  poker  
  • 16. 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.  
  • 17. Nedbrydning: Motivation for at nedbrydeHvorfor 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 fr•  Afdække og indkapsle afhængigheder•  Undgå at teamet finpudser for meget (gold-plating)9 metoder til at nedbryde User Stories 17
  • 18. Nedbrydning: NedbrydningsteknikkerMetode#1: Nedbrydning i handlinger i en arbejdsprocesFor at kunne implementere en simpel end-to-end og putte kom Som bilist ønsker jeg at købe benzin uden at skulle bruge mit kreditkort •  … ø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 18
  • 19. Nedbrydning: NedbrydningsteknikkerMetode#2: Nedbrydning i implementering af hver enkel for Som kunde ønsker jeg at købe benzin • … 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 19
  • 20. Nedbrydning: NedbrydningsteknikkerMetode#3 Nedbrydning i stor indsats og efterfølgendeDen første User Story bærer den tekniske byrde for de efterfølgend 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). 20
  • 21. Metode#4 Nedbrydning i simpel/kompleksHvad er den simpleste version af denne funktionalitet? De mere ko Som en kunde ønsker jeg at indtaste kilometertal • … mulighed for at indtaste kilometertal tilbage i tiden • … mulighed for at indtaste kilometer tal for flere biler 21
  • 22. Nedbrydning: NedbrydningsteknikkerMetode#5 Nedbrydning i variationer i dataHvilke typer af data skal systemet kunne håndtere. Hvad er den me 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 22
  • 23. Nedbrydning: NedbrydningsteknikkerMetode#6 Nedbrydning i input metodeHvordan ser den simple brugergrænseflade ud? Den mere brugerv Som kunde kan jeg vælge en benzin stander • … 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 23
  • 24. Nedbrydning: NedbrydningsteknikkerMetode#7 Nedbrydning i ydeevneHvordan får vi det til at fungere? Hvordan får vi det til at gå hurtigt? Som kunde kan jeg betale for benzinen • … langsom betaling der viser et timeglas • … under 1 sekunder, så kunden ikke behøver at vente på betaling 24
  • 25. Nedbrydning: NedbrydningsteknikkerMetode#8 Nedbrydning i operationerOprettelse, læsning, ændring, nedlæggelse Som kunde kan jeg registrere min benzintype i programmet •  … oprette en benzintype •  … ændre en benzintype •  … slette en benzintype Bemærk at det er forskellige brugsscenarier eller situationer der kræver operationerne 25
  • 26. Nedbrydning: NedbrydningsteknikkerMetode#9 Nedbrydning i undersøgelse (spike) og implementat Som kunde ønsker jeg at min navigator kan komme med forslag om at tanke billig benzin • … 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. 26
  • 27. Nedbrydning: NedbrydningsteknikkerMetode#1 Nedbrydning i handlinger i en arbejdsprocesMetode#2 Nedbrydning i implementering af hver enkel forretningsrMetode#3 Nedbrydning i stor indsats og efterfølgendeMetode#4 Nedbrydning i simpel/kompleksMetode#5 Nedbrydning i variationer i dataMetode#6 Nedbrydning i inputmetodeMetode#7 Nedbrydning i ydeevneMetode#8 Nedbrydning i operationerMetode#9 Nedbrydning i undersøgelse (spike) og implementation 27
  • 28. Klargøring: AcceptkriterierYderligere 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
  • 29. Klargøring: TestscenarierTesteksempler:•  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)