Improving predictability by
managing flow
A #NoEstimates approach in an agile delivery project
@theppito
When will it be done?
DDD
Date
Driven
Development
Burndown	
  charts
Story
Point
1. Define a Kanban system
2. Define Work in Progress
3. Measure ‘Cycle time’,’Throughput’ and ‘WIP’
4. Visualise ‘Cycle time’ using Scatterplots
5. Introduce a ‘Replenishment’ ceremony
6. Monitor ‘Aging WIP items’
7. Introduce WIP limiters across all states
8. Use Cumulative Flow Diagrams to validate impact of our actions
A bit of theory
“We are dumbing down knowledge to
information and elevating
‘it works for me so I will do it again’
to a status that is inauthentic at best,
dangerous at worst”
Dave Snowden
Professor of Marketing at MIT
Management Sloan School.
He has published seminal papers in
operations research methodology, traffic
signal control, decision support systems,
and especially marketing.
In operations research he is best known
for his proof of the queuing formula
L = λW, commonly known as Little's Law.
Dr. John Little
Expressing Little’s Law
Arrival rate
L = λW
Departure rate
CT= WIP/tH
Avg. Cycle
time
Avg. Work
in Progress
Avg.
Throughput
Avg. Items
in Queue
Avg. Items
arriving
Avg. Wait
time
Departure rate
CT= WIP/tH
Expressing Little’s Law
Avg. Cycle
time
Avg. Work
in Progress
Avg.
Throughput
Little’s Law assumptions
1. The average of Arrival Rate should equal the average of
Departure Rate (Throughput).
2. All work that is started will eventually be completed and
exit the system.
3. The amount of WIP should be roughly the same at the
beginning and at the end of the time interval chosen for
calculation.
4. The average age of WIP is neither increasing nor
decreasing.
5. Cycle Time, WIP and Throughput must be all measured
using consistent units.
Every time an assumption of
Little’s Law is violated the process
becomes less predictable.
Every time.
Protect Assumptions
as
Process Policies
1. We will start new work about the same time we finish
old work.
2. We will make every reasonable effort to finish all
work that is started.
3. If work becomes blocked we will do everything
possible to unblock it as expeditiously as possible.
4. We will monitor our policies around the order in
which we pull items through so that work items do
not sit and age unnecessarily.
Assumptions as Process Policies
FLOW MANAGED
FORECASTING on SOLID GROUNDS
PREDICTABLE SYSTEM
When will it be done?
1. Number of items
2. Start date 15/09/2017
How long will it take?
2. Target end date 21/11/2017
How many items can we build?
1. Start date 12/06/2017
9. Forecasting - using Monte Carlo simulations
Monte Carlo Simulation
MC Simulation
• Define domain of possible inputs
• Generate inputs randomly from domain
• Perform a computation
• Aggregate result
[source: Wikipedia]
Statistical sampling based simulation
1
Domain of
possible inputs
Daily throughput
2
Generate
inputs
randomly from
domain
Select randomly a throughput
3
Perform a
computation
Use the Throughput and
deduct from the number of
items to complete
Increase the end date by one
4 Stop if …
… remaining number of items
is 0 or negative value
5
Aggregate
results
Calculate % of completions
10. One Page reports
Date
Driven
Development
DatA
Driven
Development
Effortless
DatA
Driven
Development
Effortlessly
Predictable
Development
Thank you!
@theppito

Improving predictability by managing flow