Escolar Documentos
Profissional Documentos
Cultura Documentos
Henrik Kniberg
Agile/Lean coach @ Crisp, Stockholm http://www.crisp.se/henrik.kniberg Background: developer, manager, entreprenuer
Board of directors
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
Core Scrum
These are central to Scrum. Without these you probably shouldnt call it Scrum. Retrospective happens af ter every sprint Results in concrete improvement proposals Some proposals actually get implemented Whole team + PO participates PO has a product backlog (PBL) Top items are prioritized by business value Top items are estimated Estimates written by the team Top items in PBL small enough to fit in a sprint PO understands purpose of all backlog items Have sprint planning meetings PO participates PO brings up-to-date PBL Whole team participates Results in a sprint plan
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 Iterations that are doomed to fail are terminated early PO has product vision that is in sync with PBL PBL and product vision is highly visible Everyone on the team participates in estimating PO available when team is estimating Estimate relative size (story points) rather than time Whole team knows top 1-3 impediments SM has strategy f or how to f ix top impediment SM focusing on removing impediments Escalated to management when team cant solve Team has a Scrum Master (SM) SM sits with the team PBL items are broken into tasks within a sprint Sprint tasks are estimated Estimates f or ongoing tasks are updated daily Velocity is measured All items in sprint plan have an estimate PO uses velocity f or release planning Velocity only includes items that are Done Team has a sprint burndown chart Highly visible Updated daily Daily Scrum is every day, same time & place PO participates at least a f ew times per week Max 15 minutes Each team member knows what the others are doing
the unofficial
Clearly def ined product owner (PO) PO is empowered to prioritize PO has knowledge to prioritize PO has direct contact with team PO has direct contact with stakeholders PO speaks with one voice (in case PO is a team) Team has a sprint backlog Highly visible Updated daily Owned exclusively by the team Daily Scrum happens Whole team participates Problems & impediments are surf aced Demo happens af ter every sprint Shows working, tested software Feedback received f rom stakeholders & PO Have Definition of Done (DoD) DoD achievable within each iteration Team respects DoD
Whole team believes plan is achievable PO satisfied with priorities Timeboxed iterations Iteration length 4 weeks or less Always end on time Team not disrupted or controlled by outsiders Team usually delivers what they committed to Team members sit together Max 9 people per team
Scaling
These are pretty f undamental to any Scrum scaling ef f ort. You have a Chief Product Owner (if many POs) Dependent teams do Scrum of Scrums Dependent teams integrate within each sprint
Positive indicators
Leading indicators of a good Scrum implementation. Having fun! High energy level. Overtime work is rare and happens voluntarily Discussing, criticizing, and experimenting with the process
Henrik Kniberg
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
Requirements
3. Scrum
PO
Feature team 2
Code
Test
Test
Henrik Kniberg
Kanban in a nutshell
Visualize the workflow Limit WIP (work in progress) Measure & optimize flow
To do 5
H
Dev 3
G
Test 2
D
Release 3
C
Done!
A B
K FLOW
Roots of Kanban
Buyer
Supplier
Consume
Detach
Receive
Ship
Allocate
Manufacture
The two pillars of the Toyota production system are just-in-time and automation with a human touch, or autonomation. The tool used to operate the system is kanban.
Taiichi Ohno Father of the Toyota Production System
Henrik Kniberg
Henrik Kniberg
Scrum step 2
Feature team 2 Scrum Feature team 2 Scrum
Scrum + Kanban
Feature team 1 Scrum Feature team 2 Scrum Feature team 2 Scrum
Henrik Kniberg
10
Thinking tools
Tool
anything used as a means of accomplishing a task or purpose. - dictionary.com
Toolkits
Scrum RUP
Theory of Constraints
a.k.a. frameworks XP
Physical tools
Kanban
Process tools
Dev
3
Test
2
Release
3
Done!
A B
H G K
FLOW
Henrik Kniberg
11
Henrik Kniberg
12
13
Henrik Kniberg
13
More adaptive
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 (9)
Scrum Master Product Owner Team Sprint planning meeting Daily Scrum Sprint review Product backlogt Sprint backlog BUrndown chart
Kanban (3)
Visualize the workflow Limit WIP Measure and optimize lead time
Do Whatever (0)
Do not develop an attachment to any one weapon or any one school of fighting
Miyamoto Musashi 17th century samurai
Henrik Kniberg
14
Scrum core
Kanban core
Henrik Kniberg
15
Product owner
PO
Team
Scrum Master
SM
Henrik Kniberg
16
Sprint 1
Review (release?)
Sprint 2
Retrospective
week 1
week 2
week 3
week 4
week 5
week 6
week 7
week 8
Kanban team 3
Retrospectives (4w) Planning (on demand) Release (on demand)
week 1
week 2
week 3
week 4
week 5
week 6
week 7
week 8
Henrik Kniberg
17
B C D
FLOW
Henrik Kniberg
18
Capacity
(aka velocity)
Lead time
(aka cycle time)
Quality
(defect rate, etc)
Predictability
(SLA fulfillment, etc)
Many small teams Low WIP limits Few workflow states Short iterations Little planning .... etc ...
Few large teams High WIP limits Many workflow states Long iterations Lots of planning .... etc ...
Henrik Kniberg
19
Id like to have E!
PO
Wait until a To Do slot becomes available! Or swap out C or D!
Scrum To do
C D
To do 2
C D
FLOW
FLOW
Policies
Henrik Kniberg
20
Kanban
Any day
Henrik Kniberg
21
Cross-functional team
Specialist team
Henrik Kniberg
22
Sprint 1
Sprint 2
Sprint 3
Sprint 4
Kanban
Long running task
WIP limit = 3
Henrik Kniberg
23
V= 8
V= 7
V= 9
1 2
2 3 1
2 3 1
Sprint 2
1 2
2 2 1
Sprint 1
Sprint 3
Henrik Kniberg
24
Kanban example 1
Color-coded tasks
Scrum example 2
All products Cross-product team
Scrum example 3
All products Cross-product team
Kanban example 2
Color-coded swimlanes
Henrik Kniberg
25
1.
3. 4.
Henrik Kniberg
Base your management decisions on a Long-Term Philosophy, Even at the Expense of Short-Term Financial Goals Create Continuous Process Flow to Bring Problems to the Surface Use Pull Systems to Avoid Overproduction Level Out the Workload (Heijunka) Build a Culture of Stopping to Fix Problems, to Get Quality Right the First Time Standardized Tasks are the Foundation for Continuous Improvement and Employee Empowerment Use Visual Controls So No Problems are Hidden Use Only Reliable, Thoroughly Tested Technology That Serves Your People and Processes Grow Leaders Who Thoroughly Understand the Work, Live the Philosophy, and Teach It to Others Develop Exceptional People and Teams Who Follow Your Companys Philosophy Respect Your Extended Network of Partners and Suppliers by Challenging Them and Helping Them Improve Go and See for Yourself to Thoroughly Understand the Situation (Genchi Genbutsu) Make Decisions Slowly by Concensus, Thoroughly Considering All Options; Implement Decisions Rapidly Become a Learning Organization Through Relentless Reflection (Hansei) and Continuous Improvement (Kaizen) 26
Minor difference:
Minor difference:
Henrik Kniberg
28
Minor difference:
Cumulative Flow
Henrik Kniberg
29
Henrik Kniberg
Some of these photos courtesy of David Anderson, Mattias Skarin, and various other people
30
Henrik Kniberg
Next 2
Analysis 3
Ongoing
2009-08-30
Development 3
orem ipsum dolor sit amet, co nse ctetur orem ipsum dolor sit amet, co nse ctetur
Done
Ongoing
2009-08-27 orem ipsum dolor sit amet, adi pis cing elit nisl
Acceptance Prod 2
Done
2009-08-20
2009-09-08
orem ipsum dolor sit amet, co adi pis cing elit nisl
orem olor sit amet, co nse ctetur adi pis cing elit nisl
xxxx kjd orem ipsum djdolor d xxx sit amet, co nse ctetur orem ipsum dolor sit amet, co nse ctetur
2009-09-02
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
orem ipsum dolor sit amet, co nse orem ipsum dolor sit amet, co nse ctetur ctetur
Definition of Done: Goal is clear First tasks defined Story split (if necessary)
Definition of Done: Code clean & checked in on trunk Integrated & regression tested Running on UAT environment
Feature / story
Date when added to board
Hard deadline
(if applicable)
Task / defect
(description)
=task
(description)
=defect
1. Panicfeatures
2009-08-20
2009-09-30
= priority = panic
(description)
(description)
(description)
Why
(description)
E E F F G HG
J H L K M
I D
Kanban
Backlog Next
2 Ongoing
Dev
3 Done
In production :o)
X Q
F I J L K M H
D G E
B C
Henrik Kniberg
32
Backlog
A G C F H J M L K I E D
Next
Dev
3
Ongoing Done
In production :o)
Henrik Kniberg
33
Backlog
Next
Dev
3
Ongoing Done
In production :o)
G C F H J M L K I E D
A B
Henrik Kniberg
34
Backlog
Next
Dev
3
Ongoing A Done
In production :o)
G C F H J M L K I E D B
Henrik Kniberg
35
Backlog
Next
Dev
3
Ongoing Done A B
In production :o)
G F H J M L K I E
C D
Henrik Kniberg
36
Backlog
Next
Dev
3
Ongoing C Done
In production :o)
A B
G D F H J M L K I E
Henrik Kniberg
37
Backlog
PO
A G C F H J M L K I E D B
Next
Dev
3
Ongoing Done
In production :o)
Henrik Kniberg
38
Backlog
PO
G C F H J M L K I E D
Next
A B
Dev
3
Ongoing Done
In production :o)
Henrik Kniberg
39
Backlog
PO
G F H J M L K I E
Next
Dev
3
Ongoing A B Done
In production :o)
C D
Henrik Kniberg
40
Backlog
PO
G
Next
Dev
3
Ongoing C Done A
In production :o)
D F H J M L K I E
Henrik Kniberg
41
Backlog
PO
G
Next
Dev
3
Ongoing C Done A B
In production :o)
D F H J M L K I E
!?
Henrik Kniberg
42
Backlog
PO
G
Nexet
2
Dev
3
Ongoing Done A B C
In production :o)
!?
D E I L K
F H J M
Henrik Kniberg
43
Backlog
PO
G
Next
Dev
3
Ongoing Done A
In production :o)
D F H J M L K I E
B C
Henrik Kniberg
44
Backlog
PO
G
Next
Dev
3
Ongoing Done
In production :o)
A
D F H J M L K I E C
Henrik Kniberg
45
Backlog
PO
G F H J M L K I
Next
Dev
3
Ongoing D E C Done
In production :o)
A B
Henrik Kniberg
46
Henrik Kniberg
47
www.crisp.se/henrik.kniberg/kanban-vs-scrum.pdf
Differences
Scrum Timeboxed iterations prescribed. Team commits to a specific amount of work for this iteration. Uses Velocity as default metric for planning and process improvement. Cross-functional teams prescribed. Items broken down so they can be completed within 1 sprint. Burndown chart prescribed WIP limited indirectly (per sprint) Estimation prescribed Cannot add items to ongoing iteration. A sprint backlog is owned by one specific team Prescribes 3 roles (PO/SM/Team) A Scrum board is reset between each sprint Prescribes a prioritized product backlog Kanban Timeboxed iterations optional. Commitment optional. Uses Lead time as default metric for planning and process improvement. Cross-functional teams optional. Specialist teams allowed. No particular item size is prescribed. No particular type of diagram is prescribed WIP limited directly (per workflow state) Estimation optional Can add new items whenever capacity is available A kanban board may be shared by multiple teams or individuals Doesnt prescribe any roles A kanban board is persistent Prioritization is optional.48
Henrik Kniberg
Dont be dogmatic
Go away! Dont talk to us! Were in a Sprint. Come back in 3 weeks. Though Shalt Limit WIP
Henrik Kniberg
49
Retrospectives
Root-cause analysis
Teams not focused Teams dont have own PO PO doesnt have own team
Hard to plan
Delayed releases
Lack of transparancy
No burndowns
Fear of committing Problems estimating Not m easuring velocity Teams disrupted during sprint Cutting quality instead of scope
Many defects
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