Henrik Kniberg
Agile/Lean coach @ Crisp, Stockholm
http://www.crisp.se/henrik.kniberg
Background: developer, manager, entreprenuer
Board of
directors
henrik.kniberg@crisp.se
+46 70 4925284
Henrik Kniberg
Scrum in a nutshell
Split your product
Large group spending a long time building a huge thing
Small team spending a little time building a small thing
... but integrating regularly to see the whole
Optimize process
$$$
Split time
January
April
Henrik Kniberg
Typical Scrumboard
Henrik Kniberg
the unofficial
Core Scrum
Scrum Checklist
Henrik Kniberg
Recommended but not always necessary
Most of these will usually be needed, but not always all of them. Experiment!
Team has all skills needed to
bring backlog items to Done
Team members not locked into
specific roles
PO is empowered to
prioritize
PO has knowledge to
prioritize
PO understands purpose
of all backlog items
Highly visible
PO participates
Updated daily
PO uses velocity f or
release planning
Escalated to management
when team cant solve
Timeboxed iterations
Demo happens af ter every
sprint
Shows working, tested
software
Feedback received f rom
stakeholders & PO
Have Definition of Done (DoD)
Henrik Kniberg
Velocity is measured
Scaling
Positive indicators
Leading indicators of a
good Scrum implementation.
PO = Product owner SM = Scrum Master PBL = Product Backlog DoD = Definition of Done
http://www.crisp.se/scrum/checklist | Version 2.1 (2009-08-17)
2. Scrum But
3. Scrum
PO
Requirements
Feature
team 1
Design
Feature
team 2
Code
Test
Henrik Kniberg
Test
Kanban in a nutshell
Visualize the workflow
Limit WIP (work in progress)
Measure & optimize flow
To do
5
Dev
3
Test
2
D
Release
3
C
Done!
A
B
K
FLOW
Roots of Kanban
Kan Ban
Visual Card
Buyer
Consume
Detach
Supplier
Receive
Ship
Allocate
Manufacture
Henrik Kniberg
Taiichi Ohno
Father of the
Toyota Production System
Henrik Kniberg
Feature
team 2
Feature
team 2
Scrum
Scrum
Scrum
Scrum step 2
Feature
team 1
Scrum
Feature
team 2
Scrum
Feature
team 2
Scrum
Henrik Kniberg
Scrum + Kanban
Feature
team 1
Scrum
Feature
team 2
Scrum
Feature
team 2
Scrum
10
Thinking tools
Tool
anything used as a means of
accomplishing a task or purpose.
- dictionary.com
Lean
Physical tools
Agile
Systems Thinking
Theory of Constraints
Toolkits
a.k.a. frameworks
RUP
Scrum
XP
Kanban
Process tools
Dev
3
Test
Release
Done!
A
K
FLOW
Henrik Kniberg
11
Henrik Kniberg
12
Never blame
the tool!
13
Henrik Kniberg
13
More adaptive
RUP
(120+)
Architecture Reviewer
Business Designer
Business-Model Reviewer
Business-Process Analyst
Capsule Designer
Change Control Manager
Code Reviewer
Configuration Manager
Course Developer
Database Designer
Deployment Manager
Design Reviewer
Designer
Graphic Artist
Implementer
Integrator
Process Engineer
Project Manager
Project Reviewer
Requirements Reviewer
Requirements Specifier
Software Architect
Stakeholder
System Administrator
System Analyst
Technical Writer
Test Analyst
Test Designer
Test Manager
Tester
Tool Specialist
User-Interface Designer
Architectural analysis
Assess Viability of architectural
proof-of-concept
Capsule design
Class design
Construct architectural proof-ofconcept
Database design
Describe distribution
Describe the run-time architecture
Design test packages and classes
Develop design guidelines
Develop programming guidelines
Identify design elements
Identify design mechanisms
Incorporate design elements
Prioritize use cases
Review the architecture
Review the design
Structure the implementation
model
Subsystem design
Use-case analysis
Use-case design
Analysis model
Architectural proof-of-concept
Bill of materials
Business architecture document
Business case
Business glossary
Business modeling guidelines
Business object model
Business rules
Business use case
Henrik Kniberg
Scrum
(9)
XP
(13)
Whole team
Coding standard
TDD
Collective ownership
Customer tests
Pair programming
Refactoring
Planning game
Continuous integration
Simple design
Sustainable pace
Metaphor
Small releases
Scrum Master
Product Owner
Team
Sprint planning meeting
Daily Scrum
Sprint review
Product backlogt
Sprint backlog
BUrndown chart
Kanban
(3)
Do Whatever
(0)
14
Scrum
core
Henrik Kniberg
Kanban
core
15
Product
owner
Team
Scrum
Master
PO
SM
Henrik Kniberg
16
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
17
Scrum board
To do
To do
A
B
B
C
D
FLOW
Henrik Kniberg
FLOW
18
Capacity
Lead time
Quality
Predictability
(aka velocity)
Little planning
Lots of planning
Henrik Kniberg
Short iterations
19
Id like to have E!
PO
Wait until a To Do slot
becomes available!
Or swap out C or D!
Kanban
Scrum
To do
To do
2
FLOW
FLOW
Policies
Henrik Kniberg
20
Mid-sprint
Kanban
Any day
Henrik Kniberg
21
Cross-functional
team
Henrik Kniberg
Kanban team 2
Specialist Cross-functional
team
Specialist
team
22
Sprint 1
Sprint 2
Sprint 3
Sprint 4
Kanban
Long running task
WIP limit = 3
Henrik Kniberg
23
V= 8
V= 7
2
2
Sprint 1
Henrik Kniberg
2
3
1
Sprint 2
V= 9
1
3
1
2
2
2
Sprint 3
24
Scrum example 1
Green Product
Green team
Scrum example 2
All products
Cross-product team
Henrik Kniberg
Color-coded tasks
Yellow Product
Yellow team
Scrum example 3
All products
Cross-product team
Kanban example 2
Color-coded swimlanes
25
3.
4.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Henrik Kniberg
14.
Minor difference:
Kanban:
Product backlog is optional
Changes to product backlog
take effect as soon as
capacity becomes available
Any prioritization scheme can
be used. For example:
Take any item
Always take the top item
Always take the oldest item
20% on maintainance items,
80% on new features
Split capacity evenly between
product A and product B
Always take red items first
Policies
Henrik Kniberg
27
Minor difference:
Henrik Kniberg
28
Minor difference:
Cumulative Flow
Henrik Kniberg
29
Henrik Kniberg
30
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
Task / defect
(description)
=task
(description)
Why
(description)
(description)
(description)
=defect
= completed
= blocked
= who is doing
this right now
Definition of Done:
Customer accepted
Ready for production
1. Panicfeatures
2. Priority features
3. Hard deadline features
(only if deadline is at risk)
4. Oldest features
Comparison:
Typical Scrum board & Kanban board
Scrum
Sprint backlog
Product
backlog
E
E
F
F
G
HG
B
I
J H
L
K
M
Kanban
F
H
Dev
Next
Backlog
I
J L
K
M
Henrik Kniberg
Ongoing
Done
In production :o)
X
Q
32
Next
Backlog
A
Dev
In production :o)
Ongoing
Done
G
C
F
H
J
M
D
I
L
K
Henrik Kniberg
33
Next
Backlog
Ongoing
Done
C
F
H
M
In production :o)
Dev
D
I
L
K
Henrik Kniberg
34
Backlog
Ongoing
Done
C
F
H
M
In production :o)
Dev
Next
D
I
L
K
Henrik Kniberg
35
Dev
Next
Backlog
Ongoing
In production :o)
Done
A
F
H
J
M
I
L
K
Henrik Kniberg
36
Dev
Next
Backlog
In production :o)
Ongoing
Done
G
D
A
B
F
H
J
M
I
L
K
Henrik Kniberg
37
Next
Backlog
PO
A
Dev
In production :o)
Ongoing
Done
G
C
F
H
J
M
D
I
L
K
Henrik Kniberg
38
Next
Backlog
PO
Ongoing
Done
C
F
H
M
In production :o)
Dev
D
I
L
K
Henrik Kniberg
39
Dev
Next
Backlog
PO
G
In production :o)
Ongoing
Done
F
H
J
M
I
L
K
Henrik Kniberg
40
Dev
Next
Backlog
PO
Ongoing
C
G
D
In production :o)
Done
A
F
H
J
M
I
L
K
Henrik Kniberg
41
Backlog
PO
G
D
F
H
J
M
Dev
Next
In production :o)
Ongoing
Done
!?
I
L
K
Henrik Kniberg
42
Backlog
PO
F
H
M
In production :o)
Ongoing
!?
Dev
Nexet
Done
A
I
L
K
Henrik Kniberg
43
Next
Backlog
PO
F
H
M
In production :o)
Ongoing
Done
A
Dev
I
L
K
Henrik Kniberg
44
Next
Backlog
PO
Dev
In production :o)
Ongoing
Done
A
G
D
F
H
J
M
B
C
I
L
K
Henrik Kniberg
45
Backlog
PO
In production :o)
Ongoing
Done
A
B
Dev
Next
C
I
L
K
Henrik Kniberg
46
Henrik Kniberg
47
www.crisp.se/henrik.kniberg/kanban-vs-scrum.pdf
Comparison summary
Similarities
Both are Lean and Agile
Both based on pull scheduling
Both limit WIP
Both use transparency to drive process
improvement
Both focus on delivering releasable
software early and often
Both are based on self-organizing teams
Both require breaking the work into
pieces
In both cases the release plan is
continuously optimized based on
empirical data (velocity / lead time)
Henrik Kniberg
Differences
Scrum
Kanban
Commitment optional.
Dont be dogmatic
Go away! Dont talk to us!
Were in a Sprint.
Come back
in 3 weeks.
Henrik Kniberg
Though Shalt
Limit WIP
49
Retrospectives
Root-cause analysis
Teams not
focused
Teams not
businessoriented
Teams grouped
by com ponent
Ineffective
requirements
com munication
Hard to
plan
Delayed releases
Not
m easuring
velocity
Teams disrupted
during sprint
Many operational
problem s
Lack of discipline
in teams
Lack of
transparancy
No
burndowns
Bad throughput in
developm ent
Fear of
committing
Problems
estimating
Lack of team
spirit
PO doesnt have
own team
Cutting quality
instead of scope
Many
defects
Difficult to
release
Lack of test
automation
Hard to
change the
code
Customers
dissatisfied
http://www.crisp.se/henrik.kniberg/cause-effect-diagrams.pdf
Henrik Kniberg
50
Take-away points
1. Know your goal
Hint: Agile/Lean/Kanban/Scrum isnt it.
2. Never blame the tool
Tools dont fail or succeed. People do.
There is no such thing as a good or bad tool. Only good
or bad decisions about when, where, how, and why to
use which tool.
3. Dont limit yourself to one tool
Learn as many as possible.
Compare for understanding, not judgement.
4. Experiment & enjoy the ride
Dont worry about getting it right from start.
The only real failure is the failure to learn from failure.
Henrik Kniberg
51
Henrik Kniberg
52