Bliv
en
haj
+l
nedbrydning
5.
oktober
2016
Jesper
Thaning,
partner
BestBrains
PS
Agenda
• Nedbrydning
• Hvorfor?
• Hvordan?
• Øvelser
1
&
2
• Prioritering
og
planlægning
med
User
Story
Map
Er
stort
godt?
• Leverancerne
tager
+d
• Venter
længe
på
features
• Opgaverne
passer
ikke
ind
i
en
itera+on
• Vi
har
svært
ved
at
blive
færdige
Nej
-‐
småt
er
bedre
• Hur+gere
leverancer
• Features
laves
hur+gt
• Opgaver
passer
i
itera+oner
• Små
+ng
der
bliver
færdige!
i
effek+v
produktudvikling
Nedbrydning
er
Fast feedback
ikke big bang
Agile
principper
1. Vores
højeste
prioritet
er
at
s+lle
kunden
+lfreds
gennem
+dlige
og
løbende
afleveringer
af
værdifuld
soXware
3.
…
jo
hyppigere
des
bedre
Hyppige leverancer = små nedbrudte user stories
hp://www.agilemanifesto.org/iso/dk/principles.html
Størrelse
på
user
stories
Ak+vitet
Feature/Behov
Tema
Epic
User
Story
User
Story
Epic
User
Story
User
Story
VEJLEDENDE
Regel:
En
User
Story
kan
laves
i
ét
sprint
INVEST-‐kriterier
Store
user
stories/epics
–
”afventer”
Små
user
stories
–
“klar”
BACKLOG
• Independent
(Uadængig)
• Nego+able
(Forhandles)
• Valuable
(Værdiskabende)
• Es+mable
(Es+meres)
• Small
(Lille)
• Testable
(Testes)
Hvorfor
nedbryde
noget?
1. Prioritere
2. Småt
er
bedre
3. Afdække
adængigheder
4. Undgå
gold-‐pla+ng
Batch
size
reduc+on
Don
Reinertsen
1
2
3
Mindre
batches:
Forudsigelighed
Hur5g
feedback
Mindre
rework
Hvordan
nedbryder
du
…
9
teknikker
+l
nedbrydning
af
user
story
Produkt
(Projekt)
Release
Feature
User
story
hp://www.agileforall.com/2009/10/paerns-‐for-‐splikng-‐user-‐stories/
hp://bit.ly/PuCoC2
(Engelsk
cheat
sheet
-‐
1
PDF)
Start Indtast Indsend Kvittering
Teknik #1: Handlinger i en arbejdsproces
For at kunne implementere en simpel end-to-end og
putte komplicerede trin på bagefter
Start Indtast Indsend Kvittering
Simpel
Kompleks
Teknik#2 Simpel vs. kompleks
Hvad er den simpleste version af denne funktionalitet? De
mere komplekse variationer følger efter
Start Indtast Indsend Kvittering
Data
Alder + køn
Email
Adresse
Navn
Teknik#3 Variationer i data
Hvilke typer af data skal systemet kunne
håndtere. Hvad er den mest basale type?
Start Indtast Indsend Kvittering Behandling Registrering
Teknik#4 Operationer
De forretningsmæssige operationer kan være spredt
over flere forskellige opgaver og roller. Systemet kan
være en selvstændig rolle.
Start Indtast Indsend Kvittering Behandling Registrering
§1
§2
§3
Teknik#5: Hver enkelt forretningsregel
Eller grupper af forretningsregler der hører sammen
Start Indtast Indsend Kvittering Behandling Registrering
§1
§2
§3Data
Alder + køn
Email
Adresse
Navn
Simpel
Kompleks
#1 HANDLINGER I EN PROCES
#4 OPERATIONER#2 SIMPEL KOMPLEKS
#3 VARIATIONER I DATA
#5 FORRETNINGSREGLER
ØVELSE
1
WEBSHOP
Levering
og
betaling
1. Kunden
ser
oversigt
over
samlet
ordre
og
pris.
Rabaen
vises
særskilt
og
fremhævet
og
vælger
foretrukne
levering
(fx.
pakkelevering
eller
adentning)
2. Kunden
angiver
fakturaadresse
og
leveringsadresse
for
danske
og
udenlandske
adresser
og
betaler
med
kreditkort
via
betalingsgateway
3. Kunden
ser
kvieringsside
4. Kunden
modtager
email-‐kviering
med
ordredetaljer
(samme
data
som
på
leveringsside)
og
+lbud
om
andre
lignende
produkter
Tilbudsside
Produkter
kan
få
+lknyet
særlig
rabat
og
vises
særskilt
i
webshoppen
1. Administrator
fra
salgsafdelingen
udvælger
et
produkt
+l
at
være
+lbud
og
sæer
periode
og
rabat
2. Tilbudssiden
+lføjes
+l
websitets
hovedmenu’en
inkl.
blikfang
3. Tilbudssiden
viser
alle
+lbudsprodukter
sorteret
på
største
rabatprocent
øverst
og
brugeren
kan
vælge
forskellige
sorteringer
4. Hvis
et
produkt
med
+lbud
har
under
2
dage
+lbage
bliver
det
fremhævet
på
+lbudssiden
5. Hvis
kunden
køber
mere
end
2
stk
bliver
der
lagt
5%
oven
i
rabaen,
hvis
3
stk
eller
mere
får
kunden
også
bonuspoint
6. Rabaerne
vises
med
særlig
visuel
fremtoning
på
søgelister,
produktdetaljer
og
i
nyhedsbrevet
Vælg
dit
eget
produkt!?
Individuelt
ca.
7
min
Diskutér
resultatet
med
sidemanden
ca.
7
min
Øvelse
1
–
mulige
nedbrydninger
Levering
og
betaling
1. Kunden
ser
oversigt
over
samlet
ordre
og
pris.
Rabaen
vises
særskilt
og
fremhævet
og
vælger
foretrukne
levering
(fx.
pakkelevering
eller
adentning)
2. Kunden
angiver
fakturaadresse
og
leveringsadresse
for
danske
og
udenlandske
adresser
og
betaler
med
kreditkort
via
betalingsgateway
3. Kunden
ser
kvieringsside
4. Kunden
modtager
email-‐kviering
med
ordredetaljer
(samme
data
som
på
leveringsside)
og
+lbud
om
andre
lignende
produkter
1a
Oversigt
over
samlet
ordre
og
pris
1b
Oversigt
med
rabat
2a
Foretrukne
levering
-‐
adentning
2c
Fakturaadresse
2b
Foretrukne
levering
-‐
pakkelevering
2d
Leveringsadresse
-‐
dansk
2f
Betaling
med
kreditkort
(nedbrydes)
2e
Leveringsadresse
-‐
udenlandsk
3
Kvieringsside
4a
Email-‐kviering
–
uden
anbefaling
4b
Email-‐kviering
–
anbefalinger
simpel
liste
4c
Email-‐kviering
–
anbe-‐
falinger
kuns+g
intelligens
#1
#3
#1
#5
#3
#3
#3
#1
#1
#1
#3,2
#2
Øvelse
1
–
mulige
nedbrydninger
1a
Administrator
vælger
rabat
1b
Administrator
vælger
periode
2,3a
Tilbudsside
default
sortering
inkl.
menupunkt
4
Fremhævning
3b
Tilbudsside
vælge
sortering
5a
Rabat
ved
flere
stk
6a
Rabat
på
søgelister
5b
Bonuspoint
ved
flere
stk
6b
Rabat
på
produktdetaljer
6c
Rabat
i
nyhedsbrev
#4
#3
#4
#2
#5
#5
#5
#4
#4
#4
Tilbudsside
Produkter
kan
få
+lknyet
særlig
rabat
og
vises
særskilt
i
webshoppen
1. Administrator
fra
salgsafdelingen
udvælger
et
produkt
+l
at
være
+lbud
og
sæer
periode
og
rabat
2. Tilbudssiden
+lføjes
+l
websitets
hovedmenu’en
inkl.
blikfang
3. Tilbudssiden
viser
alle
+lbudsprodukter
sorteret
på
største
rabatprocent
øverst
og
brugeren
kan
vælge
forskellige
sorteringer
4. Hvis
et
produkt
med
+lbud
har
under
2
dage
+lbage
bliver
det
fremhævet
på
+lbudssiden
5. Hvis
kunden
køber
mere
end
2
stk
bliver
der
lagt
5%
oven
i
rabaen,
hvis
3
stk
eller
mere
får
kunden
også
bonuspoint
6. Rabaerne
vises
med
særlig
visuel
fremtoning
på
søgelister,
produktdetaljer
og
i
nyhedsbrevet
Start Indtast Indsend Kvittering Behandling Registrering
Stor
indsats
Teknik#6 Stor indsats og efterfølgende
Den første user story bærer den tekniske byrde for
de efterfølgende.
Start Indtast Indsend Kvittering Behandling Registrering
Teknik#7 Inputmetode for brugeren
Hvordan ser den simple brugergrænseflade ud?
Den mere brugervenlige og smarte?
Start Indtast Indsend Kvittering Behandling Registrering
2 s
20 ms
Teknik#8 Udskyd performance
Hvordan får vi det til at fungere?
Hvordan får vi det til at gå hurtigt?
Start Indtast Indsend Kvittering Behandling Registrering
PoC
Teknik#9 Undersøgelse (en spike) og implementation
Ved dårlig forståelse af løsning eller manglende afhængigheder.
Et nyt område enten teknisk eller forretningsmæssigt (kaldes
også et Proof of Concept eller PoC). Sæt en timebox.
ØVELSE
2
WEBSHOP
Produktdetaljer
-‐
Pris
og
leveringsXd
Acceptkriterier:
1. Prisen
uden
moms
beregnes
på
baggrund
af
prisen
med
moms
2. Prisen
u.
moms
afrundes
+l
hele
øre
(fx.
245,45
kr.)
3. Hvis
kunden
vælger
anden
valuta
(EUR,
USD
mv)
hentes
prisen
fra
økonomisystemet.
4. Hvis
prisen
er
over
1.500
kr.
vises
skilt
med
fri
fragt
5. Leverings+d
vises
over
prisen
(fx.
2
dage,
3
uger)
6. Produktets
leverings+d
hentes
fra
lagersystemet
som
antal
hele
dage
fra
dags
dato
7. Hvis
leverings+d
ikke
kendes
vises
”info-‐boks”
med
kort
forklaring
8. Kunden
kan
vælge
at
læse
en
længere
forklaring
om
leverings+d
Vælg
din
egen
User
Story!?
Individuelt
ca.
5
min
Diskutér
resultatet
med
sidemanden
Xl
den
anden
side
ca.
5
min
Øvelse
2
–
mulige
nedbrydninger
1,2
Pris
uden
moms
3a
Anden
valuta
–
hårdkodet
kurs
3c
Anden
valuta
EUR
–
fra
økonomisystem
4
Fri
fragt.
Bliver
fri
fragt
fratrukket
ordren?
3d
Anden
valuta
USD
mv.
–
fra
økonomisystem
7
Leverings+d
kendes
ikke
5b
Leverings+d
fra
lagersystem
i
dage.
Er
uger
nødvendigt?
5c
Leverings+d
fra
lagersystem
i
uger.
8
Længere
forklaring
af
leverings+d.
Hvem
laver
siden?
3b
Spike:
Hente
valuta
fra
økonomisystem.
#3
#2
#2
#6
#1
#5
#2
#2
#4
Produktdetaljer
-‐
Pris
og
leveringsXd
Acceptkriterier:
1. Prisen
uden
moms
beregnes
på
baggrund
af
prisen
med
moms
2. Prisen
u.
moms
afrundes
+l
hele
øre
(fx.
245,45
kr.)
3. Hvis
kunden
vælger
anden
valuta
(EUR,
USD
mv)
hentes
prisen
fra
økonomisystemet.
4. Hvis
prisen
er
over
1.500
kr.
vises
skilt
med
fri
fragt
5. Leverings+d
vises
over
prisen
(fx.
2
dage,
3
uger)
6. Produktets
leverings+d
hentes
fra
lagersystemet
som
antal
hele
dage
fra
dags
dato
7. Hvis
leverings+d
ikke
kendes
vises
”info-‐boks”
med
kort
forklaring
8. Kunden
kan
vælge
at
læse
en
længere
forklaring
om
leverings+d
#9
Øvelse
1
-‐
genbesøg
1a
Administrator
vælger
rabat
1b
Administrator
vælger
periode
2,3a
Tilbudsside
default
sortering
inkl.
menupunkt
4
Fremhævning
3b
Tilbudsside
vælge
sortering
5a
Rabat
ved
flere
stk
6a
Rabat
på
søgelister
5b
Bonuspoint
ved
flere
stk
6b
Rabat
på
produktdetaljer
6c
Rabat
i
nyhedsbrev
3c
HURTIG
Xlbudsside!
3d
Smart
valg
af
sortering
#4
#3
#4
#2
#1
#5
#5
#1
#1
#1
Tilbudsside
Produkter
kan
få
+lknyet
særlig
rabat
og
vises
særskilt
i
webshoppen
1. Administrator
fra
salgsafdelingen
udvælger
et
produkt
+l
at
være
+lbud
og
sæer
periode
og
rabat
2. Tilbudssiden
+lføjes
+l
websitets
hovedmenu’en
inkl.
blikfang
3. Tilbudssiden
viser
alle
+lbudsprodukter
sorteret
på
største
rabatprocent
øverst
og
brugeren
kan
vælge
forskellige
sorteringer
4. Hvis
et
produkt
med
+lbud
har
under
2
dage
+lbage
bliver
det
fremhævet
på
+lbudssiden
5. Hvis
kunden
køber
mere
end
2
stk
bliver
der
lagt
5%
oven
i
rabaen,
hvis
3
stk
eller
mere
får
kunden
også
bonuspoint
6. Rabaerne
vises
med
særlig
visuel
fremtoning
på
søgelister,
produktdetaljer
og
i
nyhedsbrevet
#8
#7
Tre
udfordringer
1. Overblik
over
backloggen
2. Prioritering
af
user
stories
3. Kommunika+on
om
backloggen
usage sequence release 1
release 2
release 3
Walking skeleton
Body
big activities
smaller steps
light weight personas
summarizing
ordered tasks
Must have
Nice to have
hp://jpaonassociates.com/wp-‐content/uploads/2015/03/story_mapping.pdf
#1 HANDLINGER I EN PROCES
#4 OPERATIONER
#2 SIMPEL KOMPLEKS
#3 VARIATIONER I DATA
#5 FORRETNINGSREGLER
#6 STOR INDSATS
#7 INPUTMETODE FOR
BRUGEREN
#8 UDSKYD PERFORMANCE
#9 UNDERSØGELSE
(SPIKE ELLER POC)
Nedbrydning
og
user
story
map