Beruflich Dokumente
Kultur Dokumente
Henrik Kniberg
Agile/Lean coach
www.crisp.se
Board of
directors
henrik.kniberg@crisp.se
070 4925284
Henrik Kniberg
Exercise
Flow
Henrik Kniberg
Cycle time
Cycle time / lead time
= The reliable, repeatable time from customer need
until that need is satisfied ( time to market)
Examples:
Time to get my hamburger
Time to resolve support request
Time to get home from work
Time to deliver a feature
Item in
Item out
Henrik Kniberg
Competitive advantage
Detect defects earlier
Less time for change to happen
Henrik Kniberg
Team 2
Henrik Kniberg
Baton in
Baton out
100% runner utilization
=> Lose the race
Car in
Car out
100% Road utilization
=> Long time to get home
CPU: 100%
Http://....
Request in
Henrik Kniberg
CPU: 100%
CPU: 100%
<html>....
Response out
Littles law
slow
Henrik Kniberg
Fast
Tuesday
Wednesday
Thursday
Friday
Wednesday
Thursday
Friday
Henrik Kniberg
Tuesday
10
1 task in
progress
Task A
Task B
Task C
Timeline
Multitasking
3 tasks in
progress
A1
B1
B3
B2
C1
Henrik Kniberg
A3
A2
C2
C3
11
Project A
Project B
Project C
Project D
Q1
Henrik Kniberg
Q2
Q3
Q4
12
Game backlog
15
8
Sam
2d
1m
Concept
pres.
2h
6m
Lisa
assigns
resources
4h
Production-ready games
1d
1w
Graphics
design
Sound
design
1m
3w
12
Dev
6m
6m
Integr. &
deploy
3m
(1m+2m)
3w
Process
= 12% cycle
efficiency
Game team
(graphics, sound,
dev, integrate)
3-4 months
Henrik Kniberg
13
Were slow!
6 months
Joe
Dave
Lisa
Done!
3 months
Joe
Im a bit
slower
Dave
Lisa
January
February
Henrik Kniberg
Done!
March
April
May
June
July
14
Team 2
Henrik Kniberg
15
16
Todo
orem ipsum dolor
sit amet, co nse
ctetur
orem ipsum dolor
sit amet, co nse
ctetur orem ipsum dolor
sit amet, co nse
ctetur
Team 2
Done
Doing
orem ipsum dolor
sit amet, co nse
ctetur
orem ipsum dolor
sit amet, co nse
ctetur
orem ipsum dolor
sit amet, co nse
ctetur
orem ipsum dolor
sit amet, co nse
ctetur
orem ipsum dolor
sit amet, co nse
ctetur
Henrik Kniberg
Todo
this week
Doing
Done
this week
20 days
3 days
17
Kaizen
18
Capacity
Lead time
Quality
Predictability
(aka velocity)
Little planning
Lots of planning
Henrik Kniberg
Short iterations
19
Henrik Kniberg
20
Exercise
Pull
21
Henrik Kniberg
22
Pull vs Push
Push
Pull
Henrik Kniberg
23
Henrik Kniberg
24
Henrik Kniberg
25
Always
7%
Never
45%
Often
13%
Sometimes
16%
Rarely
19%
Source: Standish Group Study Reported at XP2002
by Jim Johnson, Chairman
Henrik Kniberg
26
Kanban
27
Kanban
Visual Card
Signaling system
Visual
Limited in supply
Henrik Kniberg
28
Henrik Kniberg
29
Darn. Forgot to
limit.
Henrik Kniberg
30
Kanban @ Toyota
Buyer
Consume
Detach
Supplier
Receive
Ship
Allocate
Manufacture
Henrik Kniberg
Taiichi Ohno
Father of the
Toyota Production System
31
Kanban in SW development
Pioneered by
David Anderson
in 2004
Dev
3
FLOW
Henrik Kniberg
12 days
32
Henrik Kniberg
33
34
Henrik Kniberg
35
Next
Backlog
A
Dev
In production :o)
Ongoing
Done
G
C
F
H
J
M
D
I
L
K
Henrik Kniberg
36
Next
Backlog
Ongoing
Done
C
F
H
M
In production :o)
Dev
D
I
L
K
Henrik Kniberg
37
Backlog
Ongoing
Done
C
F
H
M
In production :o)
Dev
Next
D
I
L
K
Henrik Kniberg
38
Dev
Next
Backlog
Ongoing
In production :o)
Done
A
F
H
J
M
I
L
K
Henrik Kniberg
39
Dev
Next
Backlog
In production :o)
Ongoing
Done
G
D
A
B
F
H
J
M
I
L
K
Henrik Kniberg
40
Next
Backlog
PO
A
Dev
In production :o)
Ongoing
Done
G
C
F
H
J
M
D
I
L
K
Henrik Kniberg
41
Next
Backlog
PO
Ongoing
Done
C
F
H
M
In production :o)
Dev
D
I
L
K
Henrik Kniberg
42
Dev
Next
Backlog
PO
G
In production :o)
Ongoing
Done
F
H
J
M
I
L
K
Henrik Kniberg
43
Dev
Next
Backlog
PO
Ongoing
C
G
D
In production :o)
Done
A
F
H
J
M
I
L
K
Henrik Kniberg
44
Backlog
PO
G
D
F
H
J
M
Dev
Next
In production :o)
Ongoing
Done
!?
I
L
K
Henrik Kniberg
45
Backlog
PO
F
H
M
In production :o)
Ongoing
!?
Dev
Nexet
Done
A
I
L
K
Henrik Kniberg
46
Next
Backlog
PO
F
H
M
In production :o)
Ongoing
Done
A
Dev
I
L
K
Henrik Kniberg
47
Next
Backlog
PO
Dev
In production :o)
Ongoing
Done
A
G
D
F
H
J
M
B
C
I
L
K
Henrik Kniberg
48
Backlog
PO
In production :o)
Ongoing
Done
A
B
Dev
Next
C
I
L
K
Henrik Kniberg
49
Bottlenecks
50
Reality
Strategy
51
Theory of constraints
All systems have a bottleneck
When you fix it, it jumps to somewhere elese.
The whole system performs only as well as its
bottleneck
Ensure you have slack before & after the
bottleneck
Happens automatically with pull scheduling
Use the slack to fix the bottleneck
Henrik Kniberg
52
Busy at bottleneck
Slack downstream
Queue upstream
Next
Dev
Test
Integrate Deploy
Expensive
queue
Cheap queue
Henrik Kniberg
Dev
Test
Integrate Deploy
53
Knows a lot
about one
thing
Test
DB
Web
Java
Domain
CM
I dont know CM
at all. But Im
willing to learn!
Im good at Java!
Lisa
Joe
Fred
Jenny
David
Erik
Henrik Kniberg
54
Design
Fold
Tape
Trim
Henrik Kniberg
Draw
55
Backlog
orem ipsum dolor
sit amet, co nse
ctetur
Day 4
Dev
Test
Prod
Henrik Kniberg
56
Cadence
57
Henrik Kniberg
http://www.xqa.com.ar/visualmanagement/
2009/04/daily-scrum-against-the-board/
58
Cadence
Scrum team
Kanban team 1
week 1
week 3
week 4
Sprint 1
Kanban team 2
week 2
week 5
week 6
week 7
week 8
Sprint 2
Review
(release?)
Retrospective
week 1
week 2
week 3
week 4
week 5
week 6
week 7
week 8
week 1
week 2
week 3
week 4
week 5
week 6
week 7
week 8
Retrospectives (4w)
Planning cadence (2w)
Release cadence (1w)
Kanban team 3
Retrospectives (4w)
Planning (on demand)
Release (on demand)
Henrik Kniberg
59
Dev
Test
Integrate Deploy
Trans cost
Trans cost
Cost of initializing
test environment
Economies of Scale
We need to do big
batches because
transaction cost is high
Henrik Kniberg
Cost of restarting
server
Automate
init of test
environment
Implement
hot-reload
on server
60
Quality
61
Quality
Value demand
Failure demand
Henrik Kniberg
62
Henrik Kniberg
63
64
Doing
Done
orem ipsum dolor
sit amet, co nse
ctetur
Slow flow
(end-to-end)
People
often idle
Doing
Done
orem ipsum dolor
sit amet, co nse
ctetur
Zzzzzzzzz
To do
Doing
Done
Tasks
rarely idle
People
sometimes idle
(slack)
Henrik Kniberg
Fast flow
People
never idle
Lack of wall
space...
Slow
flow
Tasks often
idle
65
Release
seldom
Releasing
is easy
Big
releases
Long cycle
time
High WIP
Henrik Kniberg
Release often
Small
releases
Low
quality
Short cycle
time
Low WIP
WIP limits
High
quality
WIP limits
66
Evolution of a Kanban
board
67
Kanban www.crisp.se/kanban/example
kick-start example
Henrik Kniberg
Next
2
Analysis
3
Development
3
Ongoing
Ongoing Done
2009-09-01
2009-08-20
orem olor sit amet, co
nse ctetur adi pis cing
elit nisl
2009-08-29
orem ipsum dolor sit
amet, nse ctetur adi
pis cing elit nisl
2009-08-25
orem ipsum dolor sit
ctetur adi pis cing elit
nisl
Definition of Done:
Goal is clear
First tasks defined
Story split (if necessary)
Feature / story
Date when
added to board
2009-09-30
(description)
Done
2009-09-02
2009-08-20
Ongoing
orem ipsum dolor sit
amet, adi pis cing elit
nisl
xxxx kjd
orem ipsumdjdolor
d xxx
sit amet, co nse
ctetur
Acceptance Prod
2
2009-08-27
2009-09-08
2009-08-30
orem ipsum
dolor sit
orem ipsum dolor
amet,
co nse
amet, co sit
nse
ctetur
ctetur
adi pis cing
elit nisl
Done
version 1.2
2009-11-16
Definition of Done:
Code clean & checked in on trunk
Integrated & regression tested
Running on UAT environment
Hard deadline
(if applicable)
= priority
= panic
Who is analyzing /
testing right now
Definition of Done:
Customer accepted
Ready for production
Task / defect
(description)
=task
(description)
Why
(description)
(description)
(description)
=defect
Panicfeatures
Priority features
Hard deadline features
= completed
= blocked
= who is doing
this right now
Oldest features
69
4
2
Sprint 1
Sprint 2
Sprint 3
Sprint 4
Kanban
Long running task
WIP limit = 3
Henrik Kniberg
70
Hours?
M
Days?
Henrik Kniberg
L
L
Weeks?
71
Process
8 days work
cycle
5 months cycle time= 9 % efficiency
5 month
cycle time
Scared of
commitment
Lots of
estimation &
prestudy
Henrik Kniberg
2 week
cycle time
Little or no
estimation &
prestudy
Little fear of
commitment
WIP limits
72
Henrik Kniberg
73
Metrics
74
Metrics
WIP (work in progress)
Analyze 3
Dev
Test
Deploy
Release
capacity
(velocity)
Last week we
released 8
things
Average
capacity during
Q1 was 6 story
points per week
Quality
Undecided
25%
Value
demand
15%
Failure
demand
60%
Henrik Kniberg
Item #25
took 7 days
Cycle time
Medium-sized MMFs
take < 8 days
95% of the time.
75
76
77
Henrik Kniberg
78
2 tier board-within-board
Henrik Kniberg
79
FLOW
Henrik Kniberg
80
Henrik Kniberg
81
Bootstrapping Kanban
82
Step 2
Feature
team 1
Feature
team 2
Feature
team 2
Scrum
Scrum
Scrum
Feature
team 1
Scrum
Feature
team 2
Scrum
Step 3
Feature
team 2
Scrum
Henrik Kniberg
Feature
team 1
Scrum
Feature
team 2
Scrum
Feature
team 2
Scrum
83
Before sprint
Henrik Kniberg
Sprint
After sprint
84
Kanban bootstrapping
85
Wrapup
86
Recommendations
Visualize existing process first, then optimize.
Put the board in the team room
Focus on exposing problems
Keep the board clean & simple (just like your code...)
Dont try to get it perfect from start. Let it evolve.
Dont overuse metrics
Involve the team & managers & stakeholders
Take photos
Make policies & agreements explicit. Negotiate.
Consider getting a coach for Kanban bootstrapping
Henrik Kniberg
87
Kanban
XP
Scrum
Henrik Kniberg
88
Henrik Kniberg
89
Kanban Applied
Feb 23
Leading Lean
Software Development
March 4-5
David Anderson
Henrik Kniberg
90