key note - devlin 2013 - no crystal ball gazing - the pragmatism of the kanban method
DESCRIPTION
The Kanban Method is based in the philosophy of pragmatism. Kanban encourages you to use facts and actual data to make decisions and plans. This approach improves risk management and business outcomesTRANSCRIPT
[email protected], @djaa_dja
No Crystal Ball GazingRisk Management &Delivery with Kanban
[email protected], @djaa_dja
Understanding Kanban Systems
[email protected], @djaa_dja
H
FF
FFF
F J
I
Pull
ChangeRequests
Kanban are virtual!
Backlog
D
E
A
I
Engin-eeringReady
G
5Ongoing
Development Testing
Done3 3
TestReady
5
PTCs
F
B
CPull
PullThese are the virtual kanban
*
These are the virtual kanbanThese are the virtual kanbanThese are the virtual kanban
The board is a visualization of the workflow process, the work-in-progress
and the kanban
Boards are not required to do Kanban!
The first system used database triggers to signal pull. There was no board!
UAT
Deploy-mentReady
∞ ∞
[email protected], @djaa_dja
Wish to avoid discard after commitment
Commitment is deferred
Backlog
H
E
C A
I
Engin-eeringReady
D
5Ongoing
Development Testing
Done3 3
TestReady
5
Commitment point
UAT
Deploy-mentReady
∞ ∞
FF
FFF
F F
G
Pull
Poolof
Ideas
Backlog
Items in the backlog remain optional………………………..Items in the backlog remain optional and unprioritized
We are committing to getting started. We are certain we want
to take delivery.
[email protected], @djaa_dja
FF
FFF
F F
Specific delivery commitment may be deferred even later
UAT
H
E
C A
I
Engin-eeringReady
Deploy-mentReady
G
D
5∞
Pull
Ongoing
Development Testing
Done3 3
TestReady
5
PTCs
ChangeRequests
2nd
Commitmentpoint*
Kanban uses
2 Phase Commit
∞
Discarded
I
We are now committing to a specific deployment and delivery
date
*This may happen earlier if circumstances demand it
Poolof
Ideas
[email protected], @djaa_dja
FF
FFF
F F
Replenishment Cadence
UAT
H
E
C A
I
Engin-eeringReady
Deploy-mentReady
G
D
5∞
Replenishment
Ongoing
Development Testing
Done3 3
TestReady
5
PTCs
ChangeRequests
∞
Discarded
I
The frequency of system replenishment should reflect
arrival rate of new information and the transaction &
coordination costs of holding a meeting
Pull
Frequent replenishment is more agile.
On-demand replenishment is most
agile!
Poolof
Ideas
[email protected], @djaa_dja
FF
FFF
F F
Delivery Cadence
UAT
H
E
C A
I
Engin-eeringReady
Deploy-mentReady
G
D
5∞
DeliveryOngoing
Development Testing
Done3 3
TestReady
5
PTCs
ChangeRequests
∞
Discarded
I
The frequency of delivery should reflect the transaction &
coordination costs of deployment plus costs &
tolerance of customer to take delivery
Pull Deployment buffer size can reduce as frequency of delivery
increases
Frequent deployment is more agile.
On-demand deployment is most agile!
Poolof
Ideas
[email protected], @djaa_dja
FF
FFF
F F
Defining Kanban System Lead Time
UAT
H
E
C A
I
Engin-eeringReady
Deploy-mentReady
G
D
5∞
Pull
Ongoing
Development Testing
Done3 3
TestReady
5
PTCs
ChangeRequests
∞
System Lead Time
The clock starts ticking when we accept the customers order, not
when it is placed!
Until then customer orders are merely available options
Lead time ends when the item
reaches the first ∞ queue.
This provides the correct result for Little’s Law and
visualization on a Cumulative Flow
DiagramDiscarded
I
Poolof
Ideas
[email protected], @djaa_dja
Delivery Rate
Lead Time
WIP=
Avg. Lead Time
Avg. Delivery Rate
WIP
Poolof
Ideas
ReadyTo
Deploy
Little’s Law & Cumulative Flow
[email protected], @djaa_dja
FF
FFF
F F
Defining Customer Lead Time
UAT
H
E
CA
I
Engin-eeringReady
Deploy-mentReady
G
D
5∞
Pull
Ongoing
Development Testing
Done3 3
TestReady
5
PTCs
ChangeRequests
∞
Customer Lead Time
The clock still starts ticking when we accept the customers
order, not when it is placed!
Discarded
I
Poolof
Ideas
Done
∞
The frequency of delivery cadence will affect customer lead
time in addition to system capability
[email protected], @djaa_dja
Flow Efficiency
Done
Poolof
Ideas
F
H E
C A
I
Engin-eeringReady
Deploy-mentReady
GD
GYPB
DEMN
2 ∞
P1
AB
Lead Time
Ongoing
Development Testing
Done VerificationAcceptance3 3
Flow efficiency measures the percentage of total lead time is spent actually adding value (or
knowledge) versus waiting
Until then customer orders are merely available options
Waiting Waiting WaitingWorking
Flow efficiency = Work Time x 100%
Lead TimeFlow efficiencies of 2% have been reported*. 5% -> 15% is
normal, > 40% is good!
* Zsolt Fabok, Lean Agile Scotland, Sep 2012, Lean Kanban France, Oct 2012
Working
Multitasking means time spent in working columns is often waiting
time
[email protected], @djaa_dja
Observe Lead Time Distribution as an enabler of a Probabilistic Approach to Management
Lead Time Distribution
0
0.5
1
1.5
2
2.5
3
3.5
Days
CR
s &
Bu
gs
SLA expectation of44 days with 85% on-time
Mean of 31 days
SLA expectation of105 days with 98 % on-time
This is multi-modal data!
The work is of two types: Change Requests (new
features); and Production Defects
This is multi-modal data!
The work is of two types: Change Requests (new
features); and Production Defects
[email protected], @djaa_dja
Filter Lead Time data by Type of Work (and Class of Service) to get Single Mode Distributions
85% at10 days
Mean5 days
98% at25 days
Change R
equest
s
Pro
duct
ion D
efe
cts
85% at60 days
Mean 50 days
98% at150 days
[email protected], @djaa_dja
Lead Time
Lead Time
Allocate Capacity to Types of Work
Done
Poolof
Ideas
F
H
E
C
A
I
Engin-eeringReady
Deploy-mentReady
G
D
GY
PBDE
MN
2 ∞
P1
AB
Separate understanding of Lead Time for each type of work
Ongoing
Development Testing
Done VerificationAcceptance3 3
ChangeRequest
s
Production
Defects
Separate understanding ofLead Time for each type of work
4
3
Consistent capacity allocation should bring some consistency to delivery rate of work of each type
Consistent capacity allocation should bring more consistency to delivery rate of work of each type
[email protected], @djaa_dja
The Optimal Time to Start
impa
ct
When we need it
85th percentile
Ideal StartHere
Commitment point
If we start too early, we forgo the option and opportunity to do something else that may
provide value.
If we start too late we risk incurring the cost of delay
With a 6 in 7 chance of on-time delivery, we can always
expedite to insure on-time delivery
[email protected], @djaa_dja
Metrics for Kanban Systems
Cumulative flow integrates demand, WIP, approx. avg. lead time and delivery rate capabilities
Lead time histograms show us actual lead time capability
Flow efficiency, value versus failure demand (rework), initial quality, and impact of blocking issues are also useful
[email protected], @djaa_dja
Scaling Up(Probabilistic Forecasting)
[email protected], @djaa_dja
Scaling Up - Planning a big project
Device Management Ike II Cumulative Flow
020406080
100120140160180200220240
Time
Fe
atu
res
Inventory Started Designed Coded Complete
Slope in middle3.5x - 5x slope
at ends 5x
Required (local average) delivery rate
2006 2008
During the middle 60% of the project schedule we need Throughput (velocity) to average 220 features
per month
[email protected], @djaa_dja
Delivery Rate
Lead Time
WIP=
Little’s Law
From observed capability
Treat as a fixed variable
Targetto
achieve plan
Calculated based on known lead time
capability & required delivery
rate
Determines staffing level
Changing the WIP limit without maintaining the staffing level ratio represents a change to the way of
working. It is a change to the process and will produce a change in the observed ‘common cause’
capability of the system
Plan based on currently observed capability and current working
practices. Do not assume process improvements.
If changing WIP to reduce undesirable effects (e.g.
multitasking), get new sample data (perform a spike) to observe
the new capability
[email protected], @djaa_dja
55/week
0.4 weeks
WIP = 22=
Using Little’s Law
From observed capability
Treat as a fixed variable
Targetto
achieve plan
Calculated based on known lead time
capability & required delivery
rate
Determines staffing level
At this point perhaps just a little black magic and experience may
be required.
Rounding 22 up to 25 would conveniently provide for 5 teams with a WIP limit of 5 items each
If our current working practices/process exhibited an
average WIP of 1 item per person then we require 25 people
organized in 5 teams of 5 people to complete the project on-time
[email protected], @djaa_dja
Lead time
WIP in this area should be 25
items*
*photo taken early in the project
before it was fully staffed/loaded
Median lead time target is 2 days
Alert managers if beyond 5 days
[email protected], @djaa_dja
Risks & Qualitative Assessment
[email protected], @djaa_dja
A Lean approach to alignment with business risks uses Qualitative Assessment
But how do we determine the risks in a work item that we must
manage? We need a fast, cheap, accurate, consensus
forming approach to risk assessment. We need Lean Risk Assessment!
The answer is to use a set of qualitative methods to assess different dimensions of risk such as
urgency
[email protected], @djaa_dja
Sketch market payoff functionR
oom
nig
hts
sold
per
day
Actual rooms sold
Cost of delay
Estimated additional rooms sold
When we need it When it arrived
Cost of delay for an online Easter holiday marketing promotion is difference in integral between the two curves
time
[email protected], @djaa_dja
Cost of Delay based on Market Payoff Sketches
Cost of delay function for an online Easter holiday marketing campaign delayed by 1 month from mid-January(based on diff of 2 integrals on previous slide)
Treat as a Standard Class item
time
impa
ct
Total costof delay
[email protected], @djaa_dja
Establish urgency by qualitative matching of cost of delay sketches
time
impa
ct
time
time
time
impa
ctim
pact
impa
ct
time
impa
ct
time
impa
ctim
pact
Expedite – critical and immediate cost of delay; can exceed kanban limits (bumps other work)
Fixed date – cost of delay goes up significantly after deadline; Start early enough & dynamically prioritize to insure on-time delivery
Standard - cost of delay is shallow but accelerates before leveling out; provide a reasonable lead-time expectation
Intangible – cost of delay may be significant but is not incurred until much later; important but not urgent
time
[email protected], @djaa_dja
Cost of Delay has a 2nd Dimension
time
impa
ct
time
impa
ct
time
impa
ctim
pact
Extinction Level Event – a short delay will completely deplete the working capital of the business
Major Capital – the cost of delay is such that a major initiative or project will be lost from next year’s portfolio or additional capital will need to be raised to fund it
Discretionary Spending – departmental budgets may be cut as a result or our business misses its profit forecasts
Intangible – delay causes embarrassment, loss of political capital, affects brand equity, mindshare, customer confidence, etc
time
?
Working capital
Working capital
[email protected], @djaa_dja
Risk is a multi-dimensional problem
So understanding cost of delay enables us to know what to pull
next?Yes, however, it isn’t always relevant! Cost of
delay attaches to a deliverable item. What if that item is large? Whole projects, minimum
marketable features (MMFs) or minimum viable products (MVPs) consist of many smaller items.
We need to understand the risks in those smaller items too, if we are to know how to schedule work,
replenish our system and make pull decisions wisely
[email protected], @djaa_dja
Market Risk of Change
Mark
et
Ris
k
Sch
ed
ulin
g
Highly likely to change
Highly unlikely to
change
StartEarly
StartLate
Differentiators
Spoilers
Table Stakes
Cost Reducers
Potential Value
ProfitsMarket Share
etc
RegulatoryChanges
Buy (COTS)Rent (SaaS)
Build(as rapidly as
possible)
[email protected], @djaa_dja
Product Lifecycle Risk
Pro
du
ct
Ris
k
Investm
en
t
Not well understoodHigh demand for innovation &
experimentation
Well understoodLow demand for
innovation
Low
Low
Innovative/New
Major Growth Market
Cash Cow
GrowthPotential
High
Low
High
[email protected], @djaa_dja
Shelf-Life Risk
Short(days, weeks,
months)
Medium(months, quarters,
1-2 years)
Long(years, decades)
KnownExpiryDate,
Seasonal(fixed window
ofopportunity)
FashionCrazeFad
[email protected], @djaa_dja
Shelf-Life Risk
Sch
ed
ule
Ris
kShort
(days, weeks,months)
Medium(months, quarters,
1-2 years)
Long(years, decades)
High
Low
KnownExpiryDate,
Seasonal(fixed window
ofopportunity)
FashionCrazeFad
Inn
ovati
on
High
Low
Num
ber
of
Opti
on
s
Many
Few
[email protected], @djaa_dja
Shelf-Life Risk
Diff
ere
nti
ato
r
Short(days, weeks,
months)
Medium(months,quarters,1-2 years)
Long(years,
decades)
Low
Low
KnownExpiryDate,
Seasonal(window of
opportunity)
FashionCrazeFad
Inn
ovati
on
High
Low
Num
ber
of
Opti
on
s
Many
Few
Sp
oiler/
Follow
er
High
Low
Schedule Risk
If we are market leading our innovations are less time critical
[email protected], @djaa_dja
Risk is a multi-dimensional contextual problem
These are just useful examples!
We must develop a set of risk taxonomies that work in context
for a specific business.
We can easily envisage other risk dimensions such as technical risk, vendor dependency risk, organizational maturity risk and so forth.
It may be necessary to run a workshop with stakeholders to explore and expose the real
business risks requiring management
[email protected], @djaa_dja
How much risk do you want to take?
Given our current capabilities, our desired strategic position and go-to-market strategies, how much
risk do you want to take?
We only have capacity to do so much work. How we allocate that capacity across different risk
dimensions will determine how aggressive we are being from a risk management perspective.
The more aggressive we are in allocating capacity to riskier work items the less likely it is that the
outcome will match our expectations
[email protected], @djaa_dja
Hedge Delivery Risk by allocating capacity in the kanban system
Done
FH
E
C
A
I
Engin-eeringReady
Deploy-mentReady
G
D
GY
PB
MN
2 ∞
P1AB
Ongoing
Development Testing
Done VerificationAcceptance3 3
Expedite 1
3
Fixed Date
Standard
Intangible
2
3DE
[email protected], @djaa_dja
Aligning with Strategic Position or Go-to-Market Strategy
Done
F
H
E
C
A
I
Engin-eeringReady
Deploy-mentReady
G
D
GY
PB
MN
2 ∞
P1AB
Ongoing
Development Testing
Done VerificationAcceptance3 3
Table Stakes 3
1
Cost Reducer
s
Spoilers
Differentiators
2
1DE
DA
The concept of a minimum viable product (MVP) will contain the
table stakes for at least 1 market niche
Market segmentation can be used to narrow the necessary table stakes for any given market niche!
Enabling early delivery for narrower markets but potentially including value generating
differentiating features
[email protected], @djaa_dja
Trade off growing market reach against growing share & profit within a niche
Done
F
H
E
C
A
I
Engin-eeringReady
Deploy-mentReady
G
D
GY
PB
MN
2 ∞
P1AB
Ongoing
Development Testing
Done VerificationAcceptance3 3
Table Stakes 3
1
Cost Reducer
s
Spoilers
Differentiators
2
1DE
DA
It is important to define a MVP in terms of table stakes and
differentiators required to enter a specific market segment
Capacity allocated to Table Stakes will determine how fast new niches can be developed.
Allocate more to Table Stakes to speed market reach/breadth.
Allocate more to differentiators to grow market share or profit margins
Allocate more to spoilers to defend market share
[email protected], @djaa_dja
An underlying philosophy of pragmatism
[email protected], @djaa_dja
Some simple rules to improve delivery forecasting
1. Limit WIP2. Observe what really happens in
your own environment3. Measure current system capability
as lead time distribution, throughput rate and flow efficiency
4. Forecast Probabilistically
Assume that the past is a strong predictor of the future
In low flow efficiency systems, environmental conditions (system factors) outweigh technical
performance factors by up to 20 times in determining the outcome. If the environment isn’t
changing neither should results.
[email protected], @djaa_dja
Prediction based on qualitative risk assessment
Stop Crystal Ball Gazing!
Do not speculate!
Do not “estimate” the size, weight,
complexity of an item. Instead qualitatively
assess the risks inherent in a work item
[email protected], @djaa_dja
Some simple rules to improve risk management
1. Establish a list of risks that are applicable in your business domain
2. Create a qualitative taxonomy of 2 to 6 categories for each dimension of risk
3. Work with things that can be established by consensus as (soft) facts. Do not speculate about the future!
4. Use meaningful business language
Cost of delay, shelf-life, product adoption lifecycle, market risk of change
All can be established as (soft*) facts. Risks associated with different classifications within these risk dimensions are understood and the
dynamics of how they might affect an outcome are predictable
* Where hard facts cannot be established by measurement or market research, a strong consensus opinion is achieved
[email protected], @djaa_dja
Prediction based on qualitative risk assessment
For example, if we load our entire capacity with fixed
delivery date demand then it is highly likely that some
items will be delivered late and we will incur a
(significant) cost of delay
[email protected], @djaa_dja
Allocate capacity to hedge risks5. Our key strategy to manage
risk is to allocate capacity in accordance with our capability, risk tolerance and business risks under management
6. Set kanban limits across risk categories
7. Allow the kanban to signal what type of risk item to pull next
[email protected], @djaa_dja
Defer Commitment. Banish Backlogs
8. Defer Commitment to manage uncertainty
9. The Lean concept of “Last Responsible Moment” is at the point of commitment – the point of replenishment
10.“Backlog” implies committed. Uncommitted items are options. Develop a “pool of ideas”
When developing options upstream of the commitment point, classify the item for each
dimension of risk under management.
A good mix of options, providing choices within each risk category is required. The more risks under management the more options will be required. The greater the min-max upstream
kanban limits will need to be
[email protected], @djaa_dja
Abandon Prioritization. Banish Priority
11.Prioritization is waste!
Prioritization is an exercise to schedule a sequence of items at a specific point in time. Only at the point of commitment can a proper assessment be made of what to pull next. Filter options based on kanban signals. Select from filtered subset
Priority is a proxy variable for real business risk information.
Do not mask risk behind a proxy. Enable better governance and better decision making by
exposing the business risks under management throughout the workflow
[email protected], @djaa_dja
Abandon Formulas & Calculations
12.Do not try to give relative weight to risk categories or calculate a risk number using a formula
Weightings and formulas mask real risk information and may lead us to unbalanced, misallocated capacity and poor risk management decisions
Without a formula calculating a priority should be impossible!
Embrace the idea that formulas and proxy variables such as “priority” have no place in sound
risk management decision making
Transparently expose business risks throughout the system
[email protected], @djaa_dja
Visualize Risks on the Ticket
Title
Checkboxes… risk 1 risk 2 risk 3 risk 4
req
com
ple
te
Color of the ticket
Typically used to indicated technical or skillset risks
H
Decorators
Letter
SLA orTarget Date
Business risk
visualization highlighted
in green
[email protected], @djaa_dja
Visualize Risks on the Board
Done
FH
E
C
A
I
Engin-eeringReady
Deploy-mentReady
G
D
GY
PB
MN
2 ∞
P1AB
Ongoing
Development Testing
Done VerificationAcceptance3 3
Expedite 1
3
Fixed Date
Standard
Intangible
2
3DE
[email protected], @djaa_dja
Conclusions
[email protected], @djaa_dja
Focus on Sources of Delay
In low flow efficiency systems, focusing on sources of delay – queues, blocking issues, rework, provides high leverage improvement in observed capabilityLead time performance is
strongly biased to environmental factors,
not technical capabilities
[email protected], @djaa_dja
Forecast Probabilistically
Use observed capability data!
Accept that the future is likely to strongly reflect past performance.
Use historical data to forecast probabilistically
Abandon Cartesian decomposition and
speculative attempts to deterministically estimate size, complexity or level of
effort
[email protected], @djaa_dja
Qualitative Approaches are Lean
Qualitative approaches to risk assessment are fast, cheap and drive
consensus
There is no crystal ball gazing! Risk analysis is not speculative!
Stop speculating about business value and ROI. Instead assess real risks
and design kanban systems to manage them!
[email protected], @djaa_dja
Kanban enables more predictable delivery and better risk management
Kanban systems address variability in, and focus attention on improving, flow!
Kanban enables predictable delivery
Exploit predictability in delivery with qualitative
risk management.
Stop Crystal Ball Gazing!
[email protected], @djaa_dja
Thank you!
[email protected], @djaa_dja
About
David Anderson is a thought leader in managing effective software teams. He leads a consulting, training and publishing and event planning business dedicated to developing, promoting and implementing sustainable evolutionary approaches for management of knowledge workers.He has 30 years experience in the high technology industry starting with computer games in the early 1980’s. He has led software teams delivering superior productivity and quality using innovative agile methods at large companies such as Sprint and Motorola.
David is the pioneer of the Kanban Method an agile and evolutionary approach to change. His latest book is published in June 2012, Lessons in Agile Management – On the Road to Kanban.
David is a founder of the Lean Kanban University, a business dedicated to assuring quality of training in Lean and Kanban for knowledge workers throughout the world.
[email protected], @djaa_dja
Acknowledgements
Donald Reinertsen directly influenced the adoption of virtual kanban systems and the assessment of cost of delay & shelf-life as criteria for scheduling work into a kanban system.
Daniel Vacanti helped with a deeper understanding of Little’s Law and the long term planning approach. Troy Magennis has been inspiring with his work on probabilistic planning, risk management and Monte Carlo simulation.
I borrowed the term “Stop Crystal Ball Gazing” from Chris Matts.
[email protected], @djaa_dja
David J Anderson& Associates, Inc.
[email protected], @djaa_dja
Appendix
[email protected], @djaa_dja