Where we've gone wrong with agile estimation and forecasting
How to measure and improve the predictability of delivery (without losing agility)
How you can use historic data to generate powerful forecasts of your future progress.
Practical tools and techniques to get you started.
6. think sharp elabor8
But if forecasting delivery
dates is important to you…
… there are ways to
do it that don’t suck.
7. think sharp elabor8
What is forecasting?
Forecasting is using past data
to predict the likelihood of future outcomes
Agile forecasting is typically based on
Velocity (Average Story Points per Sprint)
(assuming that the future looks like the past)
8. think sharp elabor8
What’s wrong with using velocity to forecast?
Average October day in Melbourne:
Cloudy, light winds, high of 19.7°
October 8th, 2016 in Melbourne:
9. think sharp elabor8
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Frequency
Story one:
Completed in 16
days.
Story two:
Completed in 9
days
Story three:
Completed in 13
days.
How long would you
estimate the next
story will take?
Story fifteen:
How long do you estimate the
next story will take now?
System Lead Time
(days)
The average is not enough
10. think sharp elabor8
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 System Lead Time
(days)
Frequency
The SHAPE of data is more
important than individual data
points, or the average value
We can be ~75% (11/15) certain
that lead time will be between
5 and 9 days assuming that our
model remains stable
The average is not enough
11. think sharp elabor8
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Frequency
We can be ~75% (11/15) certain
that lead time will be between
6 and 8 days assuming that our
model remains stable
System Lead Time
(days)
The average is not enough
12. think sharp elabor8
Monte Carlo Simulation
Use past delivery data
to simulate future progress.
Do it lots of times
to see the likelihood
of different outcomes
13. think sharp elabor8
Monte Carlo Simulation
18 Days
15 Days
21 Days
18 Days
Sample randomly from
data on your past
progress…
...running through your
backlog to simulate your
future end date.
Do this thousands of times.
The proportion of
simulation runs that finish
by each date
= the likelihood of being
finished by that date
15 16 17 18 19 20 21 22 23
Lieklihood
Days to finish
14. think sharp elabor8
Monte Carlo Simulation
Now you can have better conversations.
15 16 17 18 19 20 21 22
Lieklihood
Days to finish backlog
There’s a 50/50 chance we’ll be
done within the next 18 days.
If you need more certainty,
there’s a 75% chance we’ll be
done within 19 days.
But if you want to be 95%
sure, better give it 22 days.
18. think sharp elabor8
How do I get started?
1. Start by understanding your delivery patterns and
improving the stability/predictability of your delivery.
2. When you’re ready to try forecasting, there are some
great free spreadsheets available to help:
– https://goo.gl/EaJjFr
– http://bit.ly/SimResources
mazzlo.co
craig@mazzlo.co
And ask me about Mazzlo’s
simple but powerful
analytics for agile delivery.