7. En god User Story er:
Værdiskabende
Lille
Uafhængig
7
8. En god User Story er:
Værdiskabende
Lille
Uafhængig
og kan:
Estimeres
8
9. En god User Story er:
Værdiskabende
Lille
Uafhængig
og kan:
Estimeres
Forhandles
9
10. En god User Story er:
Værdiskabende
Lille
Uafhængig
og kan:
Estimeres
Forhandles
Testes
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. Standervalg
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
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
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 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 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: Nedbrydningsteknikker
Metode#1: Nedbrydning i handlinger i en arbejdsproces
For 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: Nedbrydningsteknikker
Metode#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: Nedbrydningsteknikker
Metode#3 Nedbrydning i stor indsats og efterfølgende
Den 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/kompleks
Hvad 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: Nedbrydningsteknikker
Metode#5 Nedbrydning i variationer i data
Hvilke 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: Nedbrydningsteknikker
Metode#6 Nedbrydning i input metode
Hvordan 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: Nedbrydningsteknikker
Metode#7 Nedbrydning i ydeevne
Hvordan 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: Nedbrydningsteknikker
Metode#8 Nedbrydning i operationer
Oprettelse, 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: Nedbrydningsteknikker
Metode#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: Nedbrydningsteknikker
Metode#1 Nedbrydning i handlinger i en arbejdsproces
Metode#2 Nedbrydning i implementering af hver enkel forretningsr
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
27
28. 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
29. 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)