#NoEstimates

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

When 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.

3 comments on “#NoEstimates”

  1. Andy Reply

    Some additional challenges beyond the budget issue you raised:

    – Politics – I used to work off an awesome calculator that got me go live +-10% of my estimate. But when asked to justify it included rules like “involves lawyers, multiply by 3” or “developer doing work is new to technology Y, multiple by 2.” Said calculator was very project/organization specific but also pretty accurate.

    – Planning across different projects that have dependencies becomes untenable. Ie, I wouldn’t be willing to base my own project timeline off a project that can’t commit to a date.

    I’m sure there are others…

  2. Gil Zilberfeld Reply

    Thanks for the comments, guys!
    Boris,

    It’s an approach, but the alternatives are still open, because you’ll need to find what works for your organization.

    Andy,

    Interesting calculator, there are methods for optimizing estimates. When you get down to it, if this works for you, use it. As you mention, I guess the more accurate you want the estimates, the more specific the calculator, and applying it to others may be problematic.

    As for multi-project management, complexity intensifies, and the estimates get less accurate. This is the point where we start looking for other methods.

Leave A Reply

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