Best brains backlog grooming juni2012

Preview:

DESCRIPTION

 

Citation preview

Backlog grooming med User Stories

14. juni 2012

Jesper Thaning

BestBrains

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  

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

6

En god User Story er: Værdiskabende Lille

7

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

8

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

9

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

10

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

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>  

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

13

Hvor kommer User Stories fra?

Hvad er råstofmaterialet for User Stories?

User  Story  

Ideer  

Business  Cases  

Behov  

Mål  

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  …    

EsDmering:  Planning  poker  

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 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

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

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

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).

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

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

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

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

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

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

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

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

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)

Recommended