Estimates
Estimates#No
a good estimate is one that
provides clear enough view on the
project reality to allow the project
leadership to make good
decisions about how to control the
project to hit it’s targets.
Making an Estimation
while estimates solve a problem, what
problem do they solve, exactly?
TIME COST DATE
• “the business as a whole is trying to make a
decision — about how to spend it’s money (your
time)” Dan Milstein
• Businesses need certainty about what they will
get and when
• Unfortunately for most businesses there is very
rarely any certainty in software design and
development
• You can break the work down into
chunks and add it up
• you can look at a variety of similar
projects to compare
• you can stick your finger in the air
and guess
HOWTO
ESTIMATE
Vacations Holidays Sick days Training Weekends
Company meetings Department meetings
Setting up new workstations Installing new
v e r s i o n s o f t o o l s o n w o r k s t a t i o n s
Troubleshooting hardware and software
problems Ramp-up time for new team members
Mentoring of new team members Management
coordination/manager meetings Cutover/
deployment Data conversion Installation
Customization Requirements clarifications
Maintaining the revision control system
Supporting the build Maintaining the scripts
required to run the daily build Maintaining the
automated smoke test used in conjunction with
the daily build Installation of test builds at user
location(s) Creation of test data [Steve McConnell]
MISS ME?
UNKNOWNS
UNKNOWN UNKNOWNS
how do you calculate them?
5% 10% 25%
Problems
with
wtf-agile
visualized
Waterfall WTF
AgileWTF
Estimates
save your time?
Cost
&
Dates
Cost
&
Dates
Cost
&
Dates
Cost
&
Dates
Cost
&
Dates
What The Hell
We’ll define #NoEstimates as
running a software project
without any human estimation
process. If customers asks,
"How long will it take?" that's
estimating. If they ask what’s
next, that's #NoEstimates.
"My boss would never go for that" may
sound like an invitation for dialogue,
but it's actually a fiat.
A term used in policy
debate, the
affirmative's power to
pass the plan in order
to debate impacts.
Allows the debate to
progress instead of
debating whether or
not the plan will be
passed.
• Clearly, many software
customers want estimates. In
many cases, those are
reasonable.
• next logical question: What
problems do estimates solve,
and can we solve them a
different way?
” #NoEstimates is not about
ditching estimates. It is about
improving the way we work such
that estimates become redundant.“
Neil Killick
When you tell the customer this
task will take 1-2 day
the customer hear 1 day
you hear 2 days
!
always the way
Some Sciences
Duncker’s candle problem
Some Sciences
Duncker’s candle problem
the wall
Some Sciences
Duncker’s candle problem
Overcome functional fixedness:
remove pins out of the box
Some Sciences
Duncker’s candle problem
20th 21thcentury
Some Sciences
Overestimation
Parkinson’s law:
work expands to fill
the time available for
its completion
Some Sciences
Effectcost
schedule
overestimation ➡underestimation
100%<100% >100%
Linear penalty due
to Parkinson’s law
Nonlinear penalty
due to planning
errors, upstream
defects, high-risk
practices
target as % of Nominal Estimation
the Cone of Uncertainty
A project is behind schedule and
over its budget the day it is started.
Don Norman
what to do
#NoEstimates
J.B. Rainsberger, the author of “jUnit Recipes”,
points out that his first solo software project was
just like this. Rainsberger made no promises up
front, offering instead to show working software
every two weeks — and also allowing the client to
fire him with as little as two weeks' notice.
1. Make Starting Amount of Money
Small; Deliver Working Software Often
John Carmack, CEO of Id Software, is famous for the
expression "it's done when it's done," so much so
that the phrase appears under Carmack's name
on WikiQuote.
!
It's worth noting that Apple, one of the largest
publicly traded organizations in the world, is
secretive about upcoming products and refuses to
make quarterly earnings estimates for shareholders
or Wall Street. It doesn't seem to be hurting them.
2. Drop Estimation From Your
Development Process Entirely
#NoEstimates
• Most planning work is eliminated here in favor of
developing high-level goals in collaboration with
the customer. !
• At the same time, that's essentially the business
model of Menlo Innovations.!
• By the end of a budget period, the customer could
steer to a place very different that the original
goal. The customer gets what it needs in the
moment — not what it thought it needed six
months ago.
3. Move From Contract Negotiation to
Partnership
#NoEstimates
!
•Troy Magennis, a former executive at Sabre
Holdings and Travelocity, has done some of the
most prominent work in this space. Magennis has
also developed predictive models that include
complex elements like deviation, cycle time,
defects/time for repair and so on…!
•Even without a complex model, most agile teams
are capable of producing a burn-down chart that
can answer the question, "Is this date and this
scope possible?"
22. Fund a Pilot That Delivers Working
Software; Then Use Modeling to
Forecast Schedule
#NoEstimates
• sounds crazy though
#NoEstimates Really About
Solving Problems a
Different Way
With the #NoEstimates approach we don't commit to
requirements that we are not going to immediately
work on
The reason is simple: requirements have a "best
before" date and expire.
Oleg.Shanyuk@gmail.com
@gelosi
Follow: #NoEstimates,
@mattt, @soffes, @edog1203, @johnmaeda, …

#NoEstimates

  • 1.
  • 2.
  • 3.
    a good estimateis one that provides clear enough view on the project reality to allow the project leadership to make good decisions about how to control the project to hit it’s targets.
  • 4.
    Making an Estimation whileestimates solve a problem, what problem do they solve, exactly? TIME COST DATE • “the business as a whole is trying to make a decision — about how to spend it’s money (your time)” Dan Milstein • Businesses need certainty about what they will get and when • Unfortunately for most businesses there is very rarely any certainty in software design and development
  • 5.
    • You canbreak the work down into chunks and add it up • you can look at a variety of similar projects to compare • you can stick your finger in the air and guess HOWTO ESTIMATE
  • 6.
    Vacations Holidays Sickdays Training Weekends Company meetings Department meetings Setting up new workstations Installing new v e r s i o n s o f t o o l s o n w o r k s t a t i o n s Troubleshooting hardware and software problems Ramp-up time for new team members Mentoring of new team members Management coordination/manager meetings Cutover/ deployment Data conversion Installation Customization Requirements clarifications Maintaining the revision control system Supporting the build Maintaining the scripts required to run the daily build Maintaining the automated smoke test used in conjunction with the daily build Installation of test builds at user location(s) Creation of test data [Steve McConnell] MISS ME?
  • 7.
    UNKNOWNS UNKNOWN UNKNOWNS how doyou calculate them? 5% 10% 25%
  • 8.
    Problems with wtf-agile visualized Waterfall WTF AgileWTF Estimates save yourtime? Cost & Dates Cost & Dates Cost & Dates Cost & Dates Cost & Dates
  • 9.
    What The Hell We’lldefine #NoEstimates as running a software project without any human estimation process. If customers asks, "How long will it take?" that's estimating. If they ask what’s next, that's #NoEstimates.
  • 10.
    "My boss wouldnever go for that" may sound like an invitation for dialogue, but it's actually a fiat. A term used in policy debate, the affirmative's power to pass the plan in order to debate impacts. Allows the debate to progress instead of debating whether or not the plan will be passed. • Clearly, many software customers want estimates. In many cases, those are reasonable. • next logical question: What problems do estimates solve, and can we solve them a different way?
  • 11.
    ” #NoEstimates isnot about ditching estimates. It is about improving the way we work such that estimates become redundant.“ Neil Killick
  • 12.
    When you tellthe customer this task will take 1-2 day the customer hear 1 day you hear 2 days ! always the way
  • 13.
  • 14.
  • 15.
    Some Sciences Duncker’s candleproblem Overcome functional fixedness: remove pins out of the box
  • 16.
    Some Sciences Duncker’s candleproblem 20th 21thcentury
  • 17.
    Some Sciences Overestimation Parkinson’s law: workexpands to fill the time available for its completion
  • 18.
    Some Sciences Effectcost schedule overestimation ➡underestimation 100%<100%>100% Linear penalty due to Parkinson’s law Nonlinear penalty due to planning errors, upstream defects, high-risk practices target as % of Nominal Estimation
  • 19.
    the Cone ofUncertainty
  • 20.
    A project isbehind schedule and over its budget the day it is started. Don Norman
  • 21.
  • 22.
    #NoEstimates J.B. Rainsberger, theauthor of “jUnit Recipes”, points out that his first solo software project was just like this. Rainsberger made no promises up front, offering instead to show working software every two weeks — and also allowing the client to fire him with as little as two weeks' notice. 1. Make Starting Amount of Money Small; Deliver Working Software Often
  • 23.
    John Carmack, CEOof Id Software, is famous for the expression "it's done when it's done," so much so that the phrase appears under Carmack's name on WikiQuote. ! It's worth noting that Apple, one of the largest publicly traded organizations in the world, is secretive about upcoming products and refuses to make quarterly earnings estimates for shareholders or Wall Street. It doesn't seem to be hurting them. 2. Drop Estimation From Your Development Process Entirely #NoEstimates
  • 24.
    • Most planningwork is eliminated here in favor of developing high-level goals in collaboration with the customer. ! • At the same time, that's essentially the business model of Menlo Innovations.! • By the end of a budget period, the customer could steer to a place very different that the original goal. The customer gets what it needs in the moment — not what it thought it needed six months ago. 3. Move From Contract Negotiation to Partnership #NoEstimates
  • 25.
    ! •Troy Magennis, aformer executive at Sabre Holdings and Travelocity, has done some of the most prominent work in this space. Magennis has also developed predictive models that include complex elements like deviation, cycle time, defects/time for repair and so on…! •Even without a complex model, most agile teams are capable of producing a burn-down chart that can answer the question, "Is this date and this scope possible?" 22. Fund a Pilot That Delivers Working Software; Then Use Modeling to Forecast Schedule #NoEstimates • sounds crazy though
  • 27.
    #NoEstimates Really About SolvingProblems a Different Way
  • 28.
    With the #NoEstimatesapproach we don't commit to requirements that we are not going to immediately work on The reason is simple: requirements have a "best before" date and expire.
  • 29.