DZone
DevOps Zone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
  • Refcardz
  • Trend Reports
  • Webinars
  • Zones
  • |
    • Agile
    • AI
    • Big Data
    • Cloud
    • Database
    • DevOps
    • Integration
    • IoT
    • Java
    • Microservices
    • Open Source
    • Performance
    • Security
    • Web Dev
DZone > DevOps Zone > Estimating Is Often Helpful. Estimates Often Aren't.

Estimating Is Often Helpful. Estimates Often Aren't.

Esther Derby  user avatar by
Esther Derby
·
Aug. 09, 12 · DevOps Zone · Interview
Like (0)
Save
Tweet
12.20K Views

Join the DZone community and get the full member experience.

Join For Free

Recently I tweeted, “/Estimating/ is often helpful. /Estimates/ are often not.”

Several people asked, “How can this be?” Let me say more, in more than 140 characters.

/Estimating/ is often helpful.

Estimating helps when the process of estimating builds shared understanding among the people who want the work done and the people doing the work.

Collaborative estimating gives the best results. Diverse experience yields a broader range of perspectives and questions.  Questions and perspectives build understanding of the what?, why?, and who? that is related to a request. That’s helpful.

Group estimating reveals differences in knowledge and understanding. Finding those gaps early is helpful.

Group estimating surfaces assumptions. When we are aware of our assumptions, we can verify—or debunk—them.

When the group knows enough about the “what” to think about the “how,” they can analyze implementation.  Working out implementation details reveals more assumptions, and generates more questions.

Sometimes estimating reveals that you only know enough to reason by analogy. The best you can do is posit that the desired functionality is about the same size as some X.

But sometimes, estimators realize that they don’t know enough to think about size or effort in a meaningful way.

This situation calls for discipline—discipline to resist guessing and speculation. Estimates born of baseless, ungrounded guesses are worse than useless. Rather than guess, in order to gain great clarity about needs and context it's best to troubleshoot via experiments, interviews, models, sketches, or some other helpful activity. Then try estimating again.

/Estimates/ are often not helpful.

People turn estimates into targets. Meeting the target becomes the de facto goal and the de facto method. The need of a meeting ends up fading as a priority.

People can construe estimates as promises. No one can predict the future, but many people treat estimates as guarantees. Failed predictions may fan blame. Under the worst circumstances, trust and openness cause suffering.

People might construe estimates as bids. Bidding usually involves some calculation of profit. That implies a margin. However, managers discourage margins in estimates. Managers view “padding” as a moral failing–but it’s really a contingency for the unknown (Or compensation for bosses who are known to cut estimates to fit wishes. See below.).

Inappropriate precision in estimates implies that people know more than they do.  When expectations and reality meet, people may feel disappointed. More likely, they feel deceived. Trust and openness cause suffering once again.

People game estimates. How many of you developers have thought long and hard about an estimate, only to have a manager say, “Estimate X is too high. It should be between A and B.”  I, too, have been this way. Fudging estimates to fit wishes sets off another round of deceit and disappointed expectations. Trust and openness become scarce.

So please, estimate. But don’t get caught up in estimates.

Trust (business) Build (game engine) IT Implementation dev Analyze (imaging software) Precision (computer science) Resist Moral

Published at DZone with permission of Esther Derby, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • Exporting and Importing Projects in Eclipse
  • Image Classification Using SingleStore DB, Keras, and Tensorflow
  • Pre-Commit Hooks DevOps Engineer Should Know To Control Kubernetes
  • Counting Faster With Postgres

Comments

DevOps Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • MVB Program
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends:

DZone.com is powered by 

AnswerHub logo