How to not
shoot
yourself in
the foot with
estimation
neil_killickNeil Killick, 2017, All Rights Reserved
neil_killickNeil Killick, 2017, All Rights Reserved
Business wants predictability…
+ Bang for buck
+ Responsiveness to change
+ Speed of delivery
+ High quality
Neil Killick, 2017, All Rights Reserved
Traditional…
• Build a plan up front
• Keep changes to a minimum
• Plenty of time for course
correction
• Functional teams/estimation/
milestones
• Project Manager steers
“Agile”…
• Cross-functional teams/
estimation
• Little time for course correction
• Unclear objectives
• Unclear milestones
• Frequent change
• Frequent prioritisation
Potential to shoot yourself in the footFAIR HIGH
neil_killick
neil_killickNeil Killick, 2017, All Rights Reserved
"Scrum employs an iterative,
incremental approach to
optimize predictability and
control risk.”
~ The Scrum Guide
neil_killickNeil Killick, 2017, All Rights Reserved
Incorporating feedback as we go

Not knowing exactly what we’re doing,
in sequence, throughout the project

Welcoming change, making it easy, and
incorporating it
Do these things make us unpredictable?
Empirical
predictability
Understand how long we have to
do what we need to do

Create/update the plan

Monitor progress through working
software and other metrics and
observations

neil_killickNeil Killick, 2017, All Rights Reserved
Deterministic
predictability
Determine how long it will take to
do what we need to do

Put the answer in a plan

Keep asking how long is left to
deliver the plan

Stick to the plan
neil_killickNeil Killick, 2017, All Rights Reserved
1
Become predictably
good at delivering
neil_killickNeil Killick, 2017, All Rights Reserved
Predictability is improved by behaving
and delivering more predictably, not
by making predictions
neil_killickNeil Killick, 2017, All Rights Reserved
2
Be transparent —
share your process and
your progress
10
Empirical predictability
Working software
every 2 weeks or so

Collaborative review
with customers of where we’re at, and
what we should do next — better than
“status reporting”

Mitigating risks and impediments

by testing assumptions, managing/
reducing dependencies
Neil Killick, 2017, All Rights Reserved
neil_killick
neil_killickNeil Killick, 2017, All Rights Reserved
3
Find out what type of
estimate is required
neil_killickNeil Killick, 2017, All Rights Reserved
• What will we get, and when?

• Which is quicker/smaller, A or B? (for ROI purposes)

• When will we get X (feature)?

• How much will be done by Y (date)?

• Will X/everything be done by Y?

• Can we deliver X/everything for the time/money
available?

• Are you going to deliver maximum bang for buck?
Do you have a plan?
What are we
actually
estimating?
neil_killickNeil Killick, 2017, All Rights Reserved
Sales
What features can we sell to (potential) customers?
Marketing
When can we start our campaign?
What features can we talk about at the next roadshow?
Project and program managers
When will Jane/Team A become available for other projects?
When will we need Jane? (our shared UX specialist)
neil_killickNeil Killick, 2017, All Rights Reserved
4
Incorporate appropriate
levels of uncertainty
neil_killickNeil Killick, 2017, All Rights Reserved
Part of estimate — call out risks/
assumptions/issues/dependencies
• How stable is the team? Losing/gaining members?
• Are all team members 100% committed to the project?
• How predictable is the team’s throughput/velocity of
PLANNED work?
• Is there a predictable level of UNPLANNED work?
• What are our technical/schedule/people dependencies?
neil_killickNeil Killick, 2017, All Rights Reserved
Don’t give a precise date when a
set of scope will be delivered
Don’t say a precise set of scope
will be delivered on a given date
— use confidence levels and shades of grey
neil_killickNeil Killick, 2017, All Rights Reserved
5
Take into account
poor/no prioritisation
— and agility
neil_killickNeil Killick, 2017, All Rights Reserved
Remember - We are in a different paradigm
neil_killickNeil Killick, 2017, All Rights Reserved
6
Estimate options for
solving problems, not
specific solutions
neil_killickNeil Killick, 2017, All Rights Reserved
We control time rather than predict it
in iterative development
• Minimum effort to solve problem, then iterate

• Iterative/incremental is a different paradigm

• Let’s discuss this, and align expectations
neil_killickNeil Killick, 2017, All Rights Reserved
Problem
We need to be able to contact
dormant customers by email
Solution 1 (~6-8 weeks)
Build an automated customer email system,
integrated with MailChimp
Solution 2 (~2-3 days)
Send manual email with no integration
neil_killickNeil Killick, 2017, All Rights Reserved
7
Revisit estimates regularly
and frequently
neil_killickNeil Killick, 2017, All Rights Reserved
8
Estimate cycle times,
not effort
neil_killickNeil Killick, 2017, All Rights Reserved
9
Use data
(yesterday’s weather)
Neil Killick, 2017, All Rights Reserved
RELEASE 1
HIGH CONFIDENCE
LOW
CONFIDENCE
MAY 30th
MAR APR MAY JUN
THROUGHPUT FORECASTING
INCORPORATING VARIANCE,
CONFIDENCE AND UNCERTAINTY
Milestone falls in
our pessimistic
forecast range, so
we have fairly
high confidence
neil_killick
Neil Killick, 2017, All Rights Reserved
RELEASE 1
(added scope)
HIGH CONFIDENCE
LOW
CONFIDENCE
MAR APR MAY JUN
MAY 30th
Milestone falls in our optimistic
forecast range, so we have lower
confidence - project needs
steering to stay “on track”
neil_killick
Neil Killick, 2017, All Rights Reserved
RELEASE 1
HIGH CONFIDENCE
LOW
CONFIDENCE
MAY 1st
(earlier date)
MAR APR MAY JUN
Milestone again falls
in our optimistic
forecast range, so we
need steering to stay
“on track”
neil_killick
Neil Killick, 2017, All Rights Reserved
RELEASE 1
(even more added scope)
HIGH CONFIDENCE
LOW
CONFIDENCE
MAR APR MAY JUN
MAY 30th
Milestone falls outside even our optimistic
forecast range, so we need to reduce scope
or push out date
neil_killick
neil_killickNeil Killick, 2017, All Rights Reserved
Summary
• Become empirically predictable — good at delivering, and know
when you plan/review/release
• Be transparent — share your process and your progress
• Know what type of estimate is needed
• Incorporate uncertainty
• Account for poor/no prioritisation — and agility
• Estimate problems and options, not specific solutions
• Revisit estimates regularly and frequently
• Estimate cycle time, not effort
• Use data (yesterday’s weather)
neil_killickNeil Killick, 2017, All Rights Reserved
Thank you!
Any questions?

How to not shoot yourself in the foot with estimation

  • 1.
    How to not shoot yourselfin the foot with estimation neil_killickNeil Killick, 2017, All Rights Reserved
  • 2.
    neil_killickNeil Killick, 2017,All Rights Reserved Business wants predictability… + Bang for buck + Responsiveness to change + Speed of delivery + High quality
  • 3.
    Neil Killick, 2017,All Rights Reserved Traditional… • Build a plan up front • Keep changes to a minimum • Plenty of time for course correction • Functional teams/estimation/ milestones • Project Manager steers “Agile”… • Cross-functional teams/ estimation • Little time for course correction • Unclear objectives • Unclear milestones • Frequent change • Frequent prioritisation Potential to shoot yourself in the footFAIR HIGH neil_killick
  • 4.
    neil_killickNeil Killick, 2017,All Rights Reserved "Scrum employs an iterative, incremental approach to optimize predictability and control risk.” ~ The Scrum Guide
  • 5.
    neil_killickNeil Killick, 2017,All Rights Reserved Incorporating feedback as we go
 Not knowing exactly what we’re doing, in sequence, throughout the project
 Welcoming change, making it easy, and incorporating it Do these things make us unpredictable?
  • 6.
    Empirical predictability Understand how longwe have to do what we need to do
 Create/update the plan
 Monitor progress through working software and other metrics and observations
 neil_killickNeil Killick, 2017, All Rights Reserved Deterministic predictability Determine how long it will take to do what we need to do
 Put the answer in a plan
 Keep asking how long is left to deliver the plan
 Stick to the plan
  • 7.
    neil_killickNeil Killick, 2017,All Rights Reserved 1 Become predictably good at delivering
  • 8.
    neil_killickNeil Killick, 2017,All Rights Reserved Predictability is improved by behaving and delivering more predictably, not by making predictions
  • 9.
    neil_killickNeil Killick, 2017,All Rights Reserved 2 Be transparent — share your process and your progress
  • 10.
    10 Empirical predictability Working software every2 weeks or so
 Collaborative review with customers of where we’re at, and what we should do next — better than “status reporting”
 Mitigating risks and impediments
 by testing assumptions, managing/ reducing dependencies Neil Killick, 2017, All Rights Reserved neil_killick
  • 11.
    neil_killickNeil Killick, 2017,All Rights Reserved 3 Find out what type of estimate is required
  • 12.
    neil_killickNeil Killick, 2017,All Rights Reserved • What will we get, and when?
 • Which is quicker/smaller, A or B? (for ROI purposes)
 • When will we get X (feature)?
 • How much will be done by Y (date)?
 • Will X/everything be done by Y?
 • Can we deliver X/everything for the time/money available?
 • Are you going to deliver maximum bang for buck? Do you have a plan? What are we actually estimating?
  • 13.
    neil_killickNeil Killick, 2017,All Rights Reserved Sales What features can we sell to (potential) customers? Marketing When can we start our campaign? What features can we talk about at the next roadshow? Project and program managers When will Jane/Team A become available for other projects? When will we need Jane? (our shared UX specialist)
  • 14.
    neil_killickNeil Killick, 2017,All Rights Reserved 4 Incorporate appropriate levels of uncertainty
  • 15.
    neil_killickNeil Killick, 2017,All Rights Reserved Part of estimate — call out risks/ assumptions/issues/dependencies • How stable is the team? Losing/gaining members? • Are all team members 100% committed to the project? • How predictable is the team’s throughput/velocity of PLANNED work? • Is there a predictable level of UNPLANNED work? • What are our technical/schedule/people dependencies?
  • 16.
    neil_killickNeil Killick, 2017,All Rights Reserved Don’t give a precise date when a set of scope will be delivered Don’t say a precise set of scope will be delivered on a given date — use confidence levels and shades of grey
  • 17.
    neil_killickNeil Killick, 2017,All Rights Reserved 5 Take into account poor/no prioritisation — and agility
  • 18.
    neil_killickNeil Killick, 2017,All Rights Reserved Remember - We are in a different paradigm
  • 19.
    neil_killickNeil Killick, 2017,All Rights Reserved 6 Estimate options for solving problems, not specific solutions
  • 20.
    neil_killickNeil Killick, 2017,All Rights Reserved We control time rather than predict it in iterative development • Minimum effort to solve problem, then iterate
 • Iterative/incremental is a different paradigm
 • Let’s discuss this, and align expectations
  • 21.
    neil_killickNeil Killick, 2017,All Rights Reserved Problem We need to be able to contact dormant customers by email Solution 1 (~6-8 weeks) Build an automated customer email system, integrated with MailChimp Solution 2 (~2-3 days) Send manual email with no integration
  • 22.
    neil_killickNeil Killick, 2017,All Rights Reserved 7 Revisit estimates regularly and frequently
  • 23.
    neil_killickNeil Killick, 2017,All Rights Reserved 8 Estimate cycle times, not effort
  • 24.
    neil_killickNeil Killick, 2017,All Rights Reserved 9 Use data (yesterday’s weather)
  • 25.
    Neil Killick, 2017,All Rights Reserved RELEASE 1 HIGH CONFIDENCE LOW CONFIDENCE MAY 30th MAR APR MAY JUN THROUGHPUT FORECASTING INCORPORATING VARIANCE, CONFIDENCE AND UNCERTAINTY Milestone falls in our pessimistic forecast range, so we have fairly high confidence neil_killick
  • 26.
    Neil Killick, 2017,All Rights Reserved RELEASE 1 (added scope) HIGH CONFIDENCE LOW CONFIDENCE MAR APR MAY JUN MAY 30th Milestone falls in our optimistic forecast range, so we have lower confidence - project needs steering to stay “on track” neil_killick
  • 27.
    Neil Killick, 2017,All Rights Reserved RELEASE 1 HIGH CONFIDENCE LOW CONFIDENCE MAY 1st (earlier date) MAR APR MAY JUN Milestone again falls in our optimistic forecast range, so we need steering to stay “on track” neil_killick
  • 28.
    Neil Killick, 2017,All Rights Reserved RELEASE 1 (even more added scope) HIGH CONFIDENCE LOW CONFIDENCE MAR APR MAY JUN MAY 30th Milestone falls outside even our optimistic forecast range, so we need to reduce scope or push out date neil_killick
  • 29.
    neil_killickNeil Killick, 2017,All Rights Reserved Summary • Become empirically predictable — good at delivering, and know when you plan/review/release • Be transparent — share your process and your progress • Know what type of estimate is needed • Incorporate uncertainty • Account for poor/no prioritisation — and agility • Estimate problems and options, not specific solutions • Revisit estimates regularly and frequently • Estimate cycle time, not effort • Use data (yesterday’s weather)
  • 30.
    neil_killickNeil Killick, 2017,All Rights Reserved Thank you! Any questions?