Home » Agile » #NoEstimates

About Gil Zilberfeld

#NoEstimates

The main difficulty with forecasting the future is that it hasn’t yet happened. – James Burke

51337482_zpsac2e9110When I first heard about #NoEstimates, I thought it was not only provocative, it can also be damaging. The idea of working without estimates seems preposterous to many people. It did to me.

 
I mean, how can you plan anything without estimates?

How we use estimates

When I started my career as a software developer, there was a running joke in the company. For each level of management, we should multiply an estimation by 1.3. If a developer said a task will take 3 months, the team leader will “refine” the estimation for 5 months, and at the program level it was now even more. A joke, but not remote from what I did later as a manager.

Let’s first get this out of the way: modifying an estimate is down-right disrespectful. As a manager I think I know better than the people who are actually doing the work. Another thing that happens a lot is estimates turn to commitments, in the eyes of management, which the team now need to meet. This post is not about these abusive things, although they do exist.

Why did the estimation process work like that?

A couple of assumptions:

  • Work is comprised of learning and development, and these are not linear, or sequential. Estimating the work is complex.
  • Developers are an optimistic bunch. They don’t think about things going wrong.
  • They under promise, so they can over deliver.
  • They cannot foresee all surprises, and we have more experience, so we’ll introduce some buffers.
  • When were they right on the estimates last time?

The results were task lengths in the project plan. So now we “know” the estimate is 6 months, instead of the original 3 months estimation.

Of course, we don’t know, and we’re aware of that. After all, we know that plans change over time. The difference is now we have more confidence about the estimate, so we can plan ahead with dependent work.

Why we need estimates

The idea of estimates is to provide enough confidence in the organization in order to make decisions about the future.  To answer questions like:

  • Do we have enough capacity to take on more work after the project?
  • Should we do this project at all?
  • When should marketing and sales be ready for the launch? What should the people do until then?

These are very good business questions. The problem is our track record: we’re horrible estimators (I point you to the last bullet). We don’t know much about the future. The whole process of massaging estimates so we can feel better about them, seems like we’re relying on a set of crystal balls. And we use these balls to make business decisions. There should be a better way.

So what are the alternatives?

That is the interesting question. Once we understand that estimates are just one way of making business decisions, and a crappy one at that, we can have an open discussion.

The alternative can be cost-of-delay. It could be empirical evidence to forecast against. It can be limited safe-to-fail experiments. It can be any combination or modification of these things, and It can be things we haven’t discovered yet.

#NoEstimates is not really about estimates. It’s about making confident, rational, trust-worthy decisions.

I know what results estimates give. Let’s seek out better ones.

For more information about #NoEstimates, you can read more on the blogs of Woody Zuill, Neil Killick and Vasco Duarte.

Reference: #NoEstimates from our JCG partner Gil Zilberfeld at the Geek Out of Water blog.

Do you want to know how to develop your skillset to become a Java Rockstar?

Subscribe to our newsletter to start Rocking right now!

To get you started we give you our best selling eBooks for FREE!

1. JPA Mini Book

2. JVM Troubleshooting Guide

3. JUnit Tutorial for Unit Testing

4. Java Annotations Tutorial

5. Java Interview Questions

6. Spring Interview Questions

7. Android UI Design

and many more ....

Leave a Reply

Your email address will not be published. Required fields are marked *

*


nine + = 16

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Do you want to know how to develop your skillset and become a ...

Subscribe to our newsletter to start Rocking right now!

To get you started we give you our best selling eBooks for FREE!
Get ready to Rock!
To download the books, please verify your email address by following the instructions found on the email we just sent you.

THANK YOU!

Close