It’s Not Scrum Vs. Kanban! It’s Scrum And Kanban.
LeanKanban India 2016
Agenda
¨ What is Kanban? What Kanban is not? ¨ Why might you consider Kanban? (Or, Some of the challenges
of Scrum)
¨ Applying Kanban to Scrum
¨ The value of “Upstream Kanban”
¨ What’s in a name? ¨ Resources
¨ Q&A
Digite, Inc.
2
Digite, Inc.
3
“Scrum vs. Kanban”
Is it an emotional thing?
The Kanban Method
Change Management Principles 1. Start with what you do now
q Understanding current processes, as actually practiced
q Respecting existing roles, responsibilities & job titles
2. Gain agreement to pursue improvement through evolutionary change
3. Encourage acts of leadership at all levels
Digite, Inc.
4
Kanban Method uses…
… uses kanban boards to visualize invisible work, workflow & business risks together with kanban systems which limit work-in-progress
Kanban Method delivers…
… faster, more predictable service delivery and an adaptive capability that enables you to respond effectively to changes customer demand or your business environment
Digite, Inc.
5
The Kanban Method
General Practices 1. Visualize (with a kanban board 看板)
2. Limit work-in-progress (with kanban かんばん)
3. Manage flow 4. Make policies explicit 5. Implement feedback loops 6. Improve collaboratively, evolve experimentally
(using models & the scientific method)
Digite, Inc.
6
The Kanban Method is not…
A project management method
nor
A software development lifecycle process
Digite, Inc.
7
In the absence of an existing methodology/ process, the Kanban Method cannot be applied/ used!
Digite, Inc.
8
So, how well is Scrum working for you?
¨ It is working just fine for me! ¨ I think it is working fine – but I’d like to
know how we can get better.. ¨ I need serious and immediate help to
improve!!
Digite, Inc.
9
Some Challenges in Scrum
¨ Estimation Challenges ¨ Missed Scope/ Deadlines; Stories leak out
¨ Software is not necessarily working or tested
¨ Overwhelming focus on “rituals” ¤ how to calculate the right velocity, ¤ what % of time to allocate to surprises,
¤ estimation inaccuracies and other such problems.
¨ The Challenge of Batch Sizes
¨ Disruptive Role-changes and Org Changes
Digite, Inc.
10
Flow vs. Batching of Work
Digite, Inc.
11
Overburdening is a common Problem
¨ Multi-tasking is a commonly expected performance measure in most team. We are expected to be able to handle multiple things at the same time.
Digite, Inc.
12
Multitasking is Bad! Kanban helps you Reduce it
“It’s unequivocally the case that workers who are doing multiple things at one time are doing them poorly,” said Clifford Nass, director of the Communication Between Humans and Interactive Media Lab at Stanford University. “The human brain just really isn’t built to switch rapidly from one task to another. Workers who constantly multitask are hurting their ability to get work done, even when they are not multitasking. People become much more distracted, can’t manage their memory very well.” Companies that demand multitasking may be damaging productivity. “It would be a total tragedy if when we have so much potential to make the work force more intelligent, we are actually making the work force dumber,” Nass said. “Companies that are demanding that workers multitask might not only be hurting their productivity, but may be making the workforce worse thinkers.”
*Ruth Mantell, Wall Street Journal Market Watch, July 12, 2011, “Multitasking: More work, less productivity”
Digite, Inc.
13
Multi-tasking is one reason we have too much WIP
1 - 10 I – X (Roman) A - J
Start timer for 1 minute Fill in each row left to right Stop when timer goes off or you reach the limit shown at the top of each column
Digite, Inc.
14
Multi-tasking is one reason we have too much WIP
1 - 10 I – X (Roman) A - J
Start timer for 1 minute Fill in each column top to bottom starting at the left column Stop when timer goes off
Digite, Inc.
15
Stop Multitasking
Stop STARTING! Start FINISHING!
Digite, Inc.
16
Applying Kanban to your Scrum Processes
Digite, Inc.
17
Should you be Applying Kanban to Scrum?
¨ If everything is going well – and you are delivering software to your customer as per their expectations – perhaps there is no need to!
¨ If you know – or have niggling doubts – that you could be doing better, then by all means, look at Kanban!
¨ Even if you don’t and you’d like to explore Kanban, that’s a great reason as well.
Digite, Inc.
18
Implementing Kanban in a Scrum environment
¨ Short Term: Start with what you have ¤ Start with all the Standard Practices ¤ Implement WIP Limits and Manage Flow
¨ Medium Term: Evaluate Improvement Opportunities ¤ Evaluate/ Implement 2-Phase Commitment ¤ Tweak WIP Limits and Process Steps
¨ Long Term: ¤ Consider moving to faster/ on-demand replenishment ¤ Use models such as Risk Assessment and Monte Carlo
Simulation for better Demand Management and Delivery Forecasting
Digite, Inc.
19
Start with What you do Now
¨ Start with What you do Now ¤ Continue with your current Scrum processes and rituals, roles
and titles ¤ Continue to do Sprints and Releases, and use Scrum metrics
and measures
¨ Agree to Improve Incrementally
¨ Allow acts of leadership at all levels
Digite, Inc.
20
The Essence of Kanban in Action
Digite, Inc.
21
Improve the Process Visualization (From here….)
Backlog Next Done In-progress
Digite, Inc.
22
Improve the Process Visualization (….to here!)
Done Next
Ongoing
Development Testing
Done Ongoing Done
Deploy
Digite, Inc.
23
• Team should be able to observe Flow • Handoffs should become defined • All Process Steps should be visible
Implement WIP Limits
Done Next
5 ∞ Ongoing
Development Testing
Done Ongoing Done
3 3 ∞ ∞
Deploy
Digite, Inc.
24
• Defining constraints helps Flow • Communicates available capacity to the team and stakeholders
WIP Limits benefits
¨ Controls Multi-tasking ¨ Signal that capacity is available; ¨ Can be by person, by workflow, by work item type, or
by total number of items in progress; ¨ Promote finishing & quality; ¨ Provoke important discussions;
Digite, Inc.
25
Implement Flow (Flow is the movement of the work)
Flow – from Engineering Ready to Release Ready
FLOW
Digite, Inc.
26
Optimizing Capacity, Maximizing Flow
Digite, Inc.
27
Make Policies Explicit
Digite, Inc.
28
What goes on the board?
What is written on a ticket?
How does the board work?
Cadence
Who can modify?
Digite, Inc. 29
Implement/ Continue with Feedback Loops
¨ Daily Standup Meetings/ Retrospectives ¨ Kanban Metrics
¤ Cumulative Flow ¤ Lead Time
¨ Kanban Board ¤ WIP Limit violations ¤ Blockers ¤ Review Stages
Digite, Inc.
30
Focus on Delivery to Customer As Soon As Possible
Digite, Inc.
31
Kanban Board – Information Radiator
Digite, Inc.
32
Improve Collaboratively, Evolve Experimentally (Using models and the Scientific Method)
¨ Look for opportunities for improvement ¤ Bottlenecks ¤ Sources of rework/ defects
¨ Manage variability in incoming Demand with “Classes of Service”
¨ Implement 2-Phase Commit
Digite, Inc.
33
Evaluate Bottlenecks
Digite, Inc.
34
Risk Dimensions (also called Class of Service)
• “What will happen if you don’t finish the work item on time” (Cost of Delay)
• A set of policies that apply to a type of work.
• Can be indicated with colors, shapes, stickers, etc.
• Can affect prioritization
Digite, Inc. 35
Risk Dimensions
Backlog Next Done
3
In-progress 3
Expedite
Fixed Date
Standard
Intangible
∞ ∞
Digite, Inc.
36
Think Outside the (Dev) Box
Digite, Inc.
37
Common Challenges in Software Development
¨ Upfront Planning and Prioritization ¨ Conflict of priorities between various stakeholders
¨ Shifting Business Priorities
¨ Internal and External Sources of Demand
¨ Different type of work and different classes of service
¨ High levels of Discard Rates
Upstream Kanban and 2 Phase Commit will help Streamline the Inflow of Work to the Dev Team
Digite, Inc.
38
Consider an “Upstream Kanban” board
Done Next Ongoing Development Testing
Done Ongoing Done Deploy
Spec Ongoing
Prioritization Done
Pool of Ideas Ready
Ongoing Done
Digite, Inc.
39
H
F F
O M
N K
J
I
Pull
Kanban systems are pull systems
Ideas
D
E
A
I
Dev Ready
G
5 Ongoing
Development Testing
Done 3 3
Test Ready
5
F
B
C Pull
Pull
*
There is capacity here
UAT Release Ready
∞ ∞
Pulling work from development will create
capacity here too – the pull signals move
upstream! Now we have capacity to replenish our ready buffer Digite, Inc.
40
In Flow Systems, Commitment is deferred
H
E
C A
I
D
Commitment point
F F
F F
F F F
G
Pull
Wish to avoid aborting after commitment
Ideas Dev
Ready 5
Ongoing
Development Testing
Done 3 3
Test Ready
5
UAT Release Ready
∞ ∞
We are committing to getting started. We are certain we want to take
delivery.
Ideas remain optional and (ideally) unprioritized
Digite, Inc.
41
Software Teams often see High Discard rates
H
E
C A
I
D F
F F F
G H
I
Reject
Ideas Dev
Ready 5
Ongoing
Development Testing
Done 3 3
Test Ready
5
UAT Release Ready
∞ ∞
Discarded
The discard rate seen at a Microsoft team in 2004 was 48%. ~50% is
commonly observed
Options have value because the future is uncertain
0% discard rate implies there is no
uncertainty about the future
Digite, Inc.
42
Test Ready
F F
F F
F F F
More Frequent Replenishment
H
E
C A
I
G
D
Replenishment
Discarded
I
Pull
Ideas Dev
Ready 5
Ongoing
Development Testing
Done 3 3 5
UAT Release Ready
∞ ∞
The frequency of system replenishment should reflect arrival
rate of new information and the transaction & coordination costs of
holding a meeting
Frequent replenishment is more agile.
On-demand replenishment is
most agile!
Digite, Inc.
43
Test Ready
F F
F F
F F F
Delivery Frequency
H
E
C A
I
G
D
Delivery
Discarded
I
Pull
The frequency of delivery should reflect the transaction & coordination
costs of deployment plus costs & tolerance of customer to take delivery
Ideas Dev
Ready 5
Ongoing
Development Testing
Done 3 3 5
UAT Release Ready
∞ ∞
UAT and Release buffer sizes can reduce as frequency of delivery
increases
Frequent delivery is more agile.
On-demand delivery is most agile!
Digite, Inc.
44
Test Ready
F N
K
M
L J
F
Specific delivery commitment may be deferred even later
H E
C
A
I
G
D
2nd Commitment
point*
Discarded
I
Ideas Dev
Ready 5
Ongoing
Development Testing
Done 3 3 5
UAT Release Ready
∞ ∞
We are now committing to a specific release date
*This may happen earlier if circumstances demand it
Digite, Inc.
45
Long Term…
¨ Move towards Iteration-less delivery?
¨ Use models such as Monte Carlo simulation to forecast capability and set customer expectations
Digite, Inc.
46
What’s in a Name?
Scrum + Kanban = Scrum or Scrumban or
Kanban – YOUR Choice!
The Kanban Method provides a number of tools
and techniques to boost the performance of Scrum teams!
Digite, Inc.
47
Scrum and (not vs.) Kanban Kanban does not compete with Scrum. Kanban complements and supplements Scrum!
Digite, Inc.
48
Resources
¨ http://yuvalyeret.com/so-what-is-scrumban/ ¨ http://blog.venturepact.com/19-proven-benefits-of-scrumban/
¨ http://www.deloittedigital.com/us/blog/scrumban-a-different-way-to-be-agile
¨ https://www.agilealliance.org/what-is-scrumban/
¨ Scrumban – and other Essays on Kanban Systems for Lean Software Development; by Corey Ladas
¨ Kanban and Scrum – making the most of both; by Henrik Kniberg & Mattias Skarin
Digite, Inc.
49
Thank you!
¨ Mahesh Singh ¤ Co-founder, SVP – Product/Marketing, Digité, Inc.
¨ Kanban Coaching Professional
¨ @maheshsingh/ [email protected]/ +1 (408) 761-2238
¨ www.swiftkanban.com/ www.digite.com
Digite, Inc.
50