This document provides an introduction to forecasting and predictive modeling using cumulative flow diagrams (CFDs). It discusses how to gather initial data by breaking down work into epics and stories and tracking lead times. With enough data points, a CFD can be generated showing work in progress over time. Frequency charts of lead times can then help set expectations. The document encourages playing with a sample Excel workbook to generate one's own CFD and charts for forecasting. It argues that even a small amount of data is better than relying solely on estimates to plan work.
3. We often talk about estimates as if
they are something meaningful
We normally mean forecast when we
say estimate
Forecasts arent guesses
4. Maths is our friend (honest)
Maths often gets a bad rep
We often think of complex things
we had to learn from first principles
at school
But you dont need to understand
the inner workings of an engine to
be able to drive a car
Its a good idea to have an expert
on hand when the engine needs
fixing
Solve x and y where:
y = x2 - 5x + 7
y = 2x + 1
5. The problem with Disneyworld
Whats the downside of
Disneyworld for guests?
Avoiding the queues
Theres an App for that
It uses historic data and the
Travelling salesman problem
The right maths in the right place
Longest Disney queue Ive stood
in was 15 minutes
6. Gameshows?
The Monty Hall Problem
drives maths undergrads mad
3 doors, one prize
What are the odds you pick the
right door?
33%
What if Monte removes a
losing door? What are your
odds now?
Should you change your
choice?
7. Agreeing terms
PRODUCT A service that makes
sense to a customer
EPIC a big story. Too big for a team
to finish in a fortnight
STORY a single unit of work that
finishes in between 2 and 9 days
13. Then this usually happens
We get an Expedite work item to deal with!
14. Back to sanity
We could finish epic 1s 4 stories, then the next epic of product 1 That way we
always finish something valuable rather than showing progress on lots of things
16. Step one - Workshop
Run a workshop to
break down your
initial product into
epics
17. Step two
Break down the first 5 epics into stories
Count the stories in each epic
Ignore the middle 3 numbers
Assume the Biggest and Smallest
represent the range
Assume the mid point of the range is
the median number of stories per epic
X X X X XX
Fewest stories Most stories
18. Step three get to work!
Measure the Lead Time to
complete each of the first 11
stories.
Initial data gathering is done!
You can also use the 85th
Percentile as your story SLA
KEEP
CALM
AND
START
WORK!
19. Graph time
You now have enough data to draw a
Cumulative Flow Diagram (CFD).
Number of stories on Y axis against
date on the X axis
Shows To Do, Doing and, Done
Plot a cone of certainty using 15th and
85th Percentiles
21. CFD Forecasting Key Points
Always use ranges, not individual dates
Make it visible
Teach people how to read it
The truth is the truth.
This makes it visible, undeniable and
non-negotiable
Moves the conversation on to business
decisions
This is real data from a real development
team
22. Frequency chart
85th %ile
Lead time frequency chart will show YOUR
Weibull distribution
Use this to help decide when to start time
bound stories
23. Where do I start
Go to github.com/kanbandan
Click on PredictiveCFD
Download the Excel workbook
Make yourself a new copy and open the workbook
You need to play with 2 sheets
Setup
On The Board
24. Setup sheet
I used the standard Excel formatting for Input cells
You can only change the salmon coloured cells
Blank out the two dates hereSet this date to the first
date of your delivery
Set this dropdown to 11
Set to your work item types
25. On the Board This is all of the data for
the sample sheet
26. On the Board Clear it off and start
adding your stories
No gaps in dates entered
My favourite cheat formula
=IF(ISNUMBER([@[Ready For Demo]]),[@[Ready For Demo]],"")
(If the cell to my right is a number, show it here too. If not show a blank cell here)
Lets you skip columns you dont want to use
Remember weighting of 1
27. And thats it
You can now look back in wonder at your wonderful
Cumulative Flow Diagram
Lead Time Frequency Chart
28. Why it all works
Explaining the magic numbers (just in case you don't trust me)
29. Let's talk WWII tanks
The Panzer V was a big
heavy tank. It had better
armour, range and
accuracy than the
Sherman.
The Allies needed to
know how many were in
France to plan D-Day
30. How many tanks?
Eisenhower asked both Military
Intelligence and the Bletchley Park
Boffins to work on it
This is known as
"The German Tank Problem"
MI BPB
June
1940
1000 169
June
1941
1550 244
Aug
1942
1550 327
Real
122
271
342
31. Maths beats estimates
So do we need to do lots of
maths?
Good news - you don't.
There IS a formula, but I'm not
going to bother you with it today.
32. The answers
With 5 samples you are 12.5%
likely to find a bigger value and
12.5% likely to find a smaller
value than your existing range.
75% chance within range
With 11 samples you make that
90% chance inside range, 5%
above and 5% below.
33. Putting it to use
It works for:
tank gearbox serial numbers
story sizes
or even dating partners
34. Why not just estimate?
How do you weigh something big on
bathroom scales?
Cut it up and weigh all the small
parts?
The problem is the tolerance
cumulates and makes the
measurement so inaccurate its
useless
200 days 賊 120 days isnt much use to us
35. Should we stop estimating?
Estimates are useless,
estimation is essential
The benefit of whole team
estimation is the sharing of
tacit knowledge, just before working on the
thing were talking about.
It deliberately introduces conflict
No groupthink
36. Getting started
all you need is:
a date stamp
(or a pen)
a spreadsheet
(or some graph paper)
https://github.com/kanbandan/PredictiveCFD