ALTERNATIVES
to AGILE
ESTIMATION
NEIL KILLICK
neilkillick.com
neil_killick #NoEstimates
AND WHEN
WHAT WILL I GET
ESTIMATING OR GUESSING?
MAKING PREDICTIONS <>
PREDICTABILITY
USE *REAL* CONSTRAINTS
KEEP TEAMS TOGETHER
USE XP PRACTICES
● Continuous
integration
● TDD/BDD
● Pair programming
● Clean code
DELIVER EARLY & OFTEN
FOCUS ON FLOW
ITERATE *AND* INCREMENT
BACKLOG = OPTIONS
● You will NOT build the whole backlog
● Knowing this is empowering
DOES SIZE MATTER?
8
Smaller, cheaper (?)
awesome feature
Awesome
feature
13
FOCUS ON VALUE, NOT COST
● Iterative Funding
● Emergent Value
USE A SLICING HEURISTIC
● Explicit policy for
breaking up work,
e.g. "A story must
have only one
acceptance test"
● Slice stories JIT (e.g. in Sprint Planning)
● Can add to "Definition of Ready"
WHY IS THIS BETTER THAN
ESTIMATING?
● Explicitly promotes the good practice of
splitting work to be done
● Avoids cognitive biases
● Easy to measure effectiveness (e.g. mean &
median cycle time within x%)
LITTLE'S LAW IS KEY
CYCLE TIME =
WIP /
THROUGHPUT
● Size of premises
● No. & size of ovens
CONSTRAINTS REDUCE
VARIABILITY AND LIMIT WIP
● No. of chefs & drivers
● Delivery radius
● Avg. wait time (hours) =
Number of orders in progress (WIP)
/ Avg. orders completed in an hour (throughput)
● Assume throughput is 50
● Using Little's Law, 0.5 = x / 50
● x = 25
● We should only take on 25
orders at a time
MAX. 30 MINUTE
WAIT FOR CUSTOMERS
WHAT IF WE TAKE
ON MORE ORDERS?
TAKING ON MORE ORDERS
MAY INCREASE WAIT TIME
● Now our WIP is 30 orders
● x = 30 / 50
● x = 0.6 hours = 36 minutes
● If we can actually deliver
60 pizzas per hour, wait
time will not increase
LIMIT WIP, LOW CYCLE TIME
WIP
limits
CYCLE TIME DISTRIBUTION
● Measure actual
cycle time to
identify outliers
● Measure mean
and median
averages
EASY TO MEASURE & SHOW
● Update cycle
time at daily
standup
● Use coloured
dots to represent
number of days
An awesome feature
that's taken 4 days
IN SUMMARY
● Real constraints breed creativity
● Keep teams together
● Use XP practices for technical excellence
● Put the "iterate" back into iterations!
IN SUMMARY
● Treat the backlog as options
● Focus on value, not cost
● Slice work using a heuristic
● Limit WIP and measure cycle times
Thank you
NEIL KILLICK
neilkillick.com
neil_killick #NoEstimates

Alternatives to Agile Estimation - A Team Perspective