Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Best brains backlog grooming juni2012

913 views

Published on

  • Be the first to comment

Best brains backlog grooming juni2012

  1. 1. Backlog grooming med User Stories 14. juni 2012 Jesper Thaning BestBrains
  2. 2. Dagsorden§  Fra ide til færdig feature §  User stories §  Grooming §  Estimering §  Nedbrydning §  Klargøring
  3. 3. Hvad  er  en  User  Story?  …  en  måde  at  skrive  krav  på  …  sæ7er  brugeren  i  centrum   3
  4. 4. User Stories gør det nemmere at: •  få fokus på det mest nødvendige •  smide det ikke-værdiskabende væk
  5. 5. Hvad er en god User Story?En god User Story er:Værdiskabende 5
  6. 6. En god User Story er:VærdiskabendeLille 6
  7. 7. En god User Story er:VærdiskabendeLilleUafhængig 7
  8. 8. En god User Story er:VærdiskabendeLilleUafhængigog kan:Estimeres 8
  9. 9. En god User Story er:VærdiskabendeLilleUafhængigog kan:EstimeresForhandles 9
  10. 10. En god User Story er:VærdiskabendeLilleUafhængigog kan:EstimeresForhandlesTestes 10
  11. 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. 12. StandervalgBeskrivelseSom en bilist ønsker jeg at vælge en ledigbenzinstander således at jeg kan tanke benzinuden at skulle bruge mit kreditkort
  13. 13. Hvor kommer User Stories fra? Hvad er råstofmaterialet for User Stories? Ideer   Business   Cases   User  Story   Behov   Mål   13
  14. 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. 15. EsDmering:  Planning  poker  
  16. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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)

×