This document summarizes Matt Philip's presentation on NoEstimates forecasting with less effort and more accuracy. Some key points from the presentation include: reducing sources of variation can improve forecasting more than improving estimating skills; data and probabilistic forecasts are preferable to intuition and deterministic estimates; and focusing on delivering value quickly can reduce the need for detailed estimates. The presentation provided examples of techniques to reduce variation, biases to consider, and recommendations for incorporating probabilistic forecasting into projects.
1 of 53
More Related Content
Forecasting with Less Effort and More Accuracy (Agile Camp NY 2018)
1. # a g i l e c a m p 2 0 1 8 | @ m a t t p h i l i p
NO ESTIMATES
Forecasting with Less Effort and More Accuracy
2. @mattphilip #agilecamp2018
ESTIMATES, PLEASE!
▫︎ Number of triples that Babe Ruth hit in his career
▫︎ Distance in km of Chile north to south
▫︎ Year in which Newark was founded
▫︎ Windows in the Gateway Arch in St. Louis
Aim for 75%
confidence
3. @mattphilip #agilecamp2018
ESTIMATES, PLEASE!
▫︎ Number of triples that Babe Ruth hit in his career (136)
▫︎ Distance in km of Chile north to south (4,270 km)
▫︎ Year in which Newark was founded (1666)
▫︎ Windows in the Gateway Arch in St. Louis (32; 16 per side)
5. @mattphilip #agilecamp2018
WHAT NOESTIMATES IS NOT SAYING
▫︎ You are evil if you estimate
▫︎ All estimates are totally useless
▫︎ Stop doing your successful estimating practice
▫︎ Stop having the conversations to understand/analyze/
break down work
▫︎ Work items must be the same size
▫︎ You must place your full faith and confidence in Monte
Carlo forecasts
6. @mattphilip #agilecamp2018
WHAT NOESTIMATES IS SAYING
▫︎ Know why you are estimating
▫︎ Discover for yourself how good you are at estimating
(measure)
▫︎ Keep doing the things that help you understand the work
▫︎ Upfront estimates need to be held loosely
▫︎ If you focus on delivering value quickly, you obviate the
need for Iron Triangle considerations
7. @mattphilip #agilecamp2018
MY NOESTIMATES MANIFESTO
… We have come to value:
Reducing sources of variation over Improving estimating
Data over Intuition*
Probabilistic over Deterministic
Minimal Viable Product over Full scope
That is, while there is value in the items on the right, we value
the items on the left more.
*Neil Killick uses “empiricism over guesswork”
15. @mattphilip #agilecamp2018
WHAT ACTUALLY HAPPENS
Analyze Code Test DeployDesign
Wait for approval
Wait for staff
availability
Rework
Wait for API
availability
Switch to
higher-priority work
Wait for approval
Wait for
blocker
removal
17. @mattphilip #agilecamp2018
WHAT’S GOING ON?
Low process efficiency (typically 5-15%
in software delivery) means that even if
we nailed the effort estimates … we
would be accurately predicting 5-15% of
elapsed delivery time!
— Troy Magennis
18. @mattphilip #agilecamp2018
DO YOU ASSUME CORRELATION?
Is the initial sizing a good predictor for when you can get your stuff?
In our case, the surprising truth was ”no.”
— Mattias Skarin, Real-World Kanban
20. @mattphilip #agilecamp2018
SOURCES OF VARIATION
Waiting for
availability
Rework
Team
dependencies
Stages in
team
development
(Tuckman)
Steps/
handoffs
Selection
policy
Essential
complication
Accidental
complication
System
dependencies
Work In
Progress
Technology/
domain/
product
Specialization
Team
composition
Multitasking/
context
switching
Collaboration
policy
Blockers
22. @mattphilip #agilecamp2018
WHAT YOU CAN DO ABOUT VARIATION
▫︎Lower WIP/System WIP
▫︎Five Focusing Steps
▫︎Blocker clustering
▫︎Reduce workflow stages
▫︎Explicit policies
▫︎Cost of Delay scheduling, sequencing and selection
▫︎Reduce “expedites”
Lean-Kanban
23. @mattphilip #agilecamp2018
WHAT YOU CAN DO ABOUT VARIATION
▫︎“Agile 101” (simple, decoupled design; thin vertical
slices; pairing)
▫︎Identify/make visible/measure dependencies
▫︎Bigger teams (to reduce dependencies)
▫︎Collaborate/Share work (Dimitar Bakardzhiev)
▫︎Spike and stabilize (Dan North)
▫︎Reduce accidental complexity (Liz Keogh)
Team
Why?
24. @mattphilip #agilecamp2018
POLICIES TO REDUCE VARIATION
▫︎We will only start new work at about the same rate that
we finish old work.
▫︎We will make every reasonable effort to finish all work
that is started and minimize wasted effort due to
discarded work items
▫︎If work becomes blocked, we will do everything we can
do unblock that work as expeditiously as possible.
▫︎We will closely monitor our policies around the order in
which we pull items through our system so that some
work items do not sit and age unnecessarily.
— Daniel Vacanti, When Will It Be Done?
30. @mattphilip #agilecamp2018
KEOGH’S “SCALE OF IGNORANCE”
1
Just about
everyone in the
world has done
this.
Lots of people have
done this, including
someone on our team.2
Someone in our company
has done this, or we have
access to expertise.3Someone in the
world did this, but
not in our
organization (and
probably at a
competitor).
4
Nobody in the world
has ever done this
before.
5
36. @mattphilip #agilecamp2018
VACANTI’S VERITY
When making a forecast (predicting the future),
you have to accept that there is more than one
possible outcome. Therefore… A forecast is a
calculation about the future that includes both
a range and a probability of that range
occurring.
44. @mattphilip #agilecamp2018
STRAIGHT-LINE (AVERAGE) FORECASTS
Team A Team B
Work item #1 5 days 3 days
Work item #2 1 day 3 days
Work item #3 3 days 3 days
Average 3 days 3 days
3-day delivery time
expectancy
66% 100%
48. @mattphilip #agilecamp2018
TO ESTIMATE OR NOT TO ESTIMATE?
NeverEstimateAnything
AlwaysEstimateEverything
Estimate Default Behavior Don’t estimate
Effort Factors All sources of variation
Intuition Approach Data
Deterministic Forecast Type Probabilistic
Tasks in hours Level of Detail Work items in days
High Effort Spent Low
Estimating better Improvement Aim Reducing variation
Commitment Management Service Expectations
49. @mattphilip #agilecamp2018
BETTER QUESTIONS TO ASK
@mattphilip
▫︎In what context would estimates bring value, and what
are we willing to do about it when they don’t? – Woody
Zuill
▫︎How much time do we want to invest in this? – Matt
Wynne
▫︎What can you do to maximize value and reduce risk in
planning and delivery? – Vasco Duarte
▫︎Can we build a minimal set of functionality and then
learn what else we must build?
▫︎Would we/you not invest in this work? If not, at what
order-of-magnitude estimate would we/you take that
action?
▫︎What actions would be different based on an estimate?
50. @mattphilip #agilecamp2018
HOW TO GET STARTED (PROJECT IN PROGRESS)
1. Continue to discuss the work to analyze it and break it into thin
vertical slices.
2. Start tracking two pieces of data for each work item: commit
date and delivery date.
3. After accumulating 10 data points, run a Monte Carlo
simulation to provide a probabilistic forecast.
4. Begin answering the “When” question using data, either at the
project level or individual work-item level.
5. Validate whether the probabilistic forecasts match what actually
occurs.
6. If the forecasts are helpful, wean your team off estimating.
7. Focus improvement efforts on reducing the sources of variation.
51. @mattphilip #agilecamp2018
HOW TO GET STARTED (NEW PROJECT)
1. Ask the “better questions” above about the use and
importance of estimates.
2. Use reference-class data (similar delivery times from other
projects in similar tech stacks with similar teams) to provide an
initial probabilistic forecast
3. As soon as you accumulate 10 data points, run a Monte Carlo
simulation to provide an updated probabilistic forecast.
4. Continually reforecast when you get more information.
52. @mattphilip #agilecamp2018
REFERENCES AND FURTHER EXPLORATION
▫︎ noestimatesbook.com (Vasco Duarte)
▫︎ infoq.com/articles/noestimates-monte-carlo (Dimitar Bakardzhiev)
▫︎ priceonomics.com/why-are-projects-always-behind-schedule
▫︎ http://scrumandkanban.co.uk/estimation-meets-cynefin/
▫︎ ronjeffries.com
▫︎ Lizkeogh.com
▫︎ https://neilkillick.wordpress.com/
▫︎ http://zuill.us/WoodyZuill/
▫︎ mattphilip.wordpress.com/noestimates-game
▫︎ When Will It Be Done? (Dan Vacanti)
▫︎ focusedobjective.com (Troy Magennis)
▫︎ actionableagile.com (Dan Vacanti)
▫︎ kanbanize.com
▫︎ scrum.org