Estimating Is Good

Agile estimation is good. #NoEstimates is gaining ground as a credible alternative to estimating, and I do not think that this a good thing in a lot of commercial circumstances. I realise that this is not a fashionable view, but I think it is easily justifiable.

What are the benefits of estimating?

Why do we estimate? Who benefits? Not me as a programmer. Once I’ve estimated, I can forget about the number of Story Points forever. The benefit is for our organisation at large. For example, the marketing department will want to know roughly what features we think we can launch by when. I strongly feel that everyone should be realistic about this! It is only an initial indication and things will rapidly change as the project moves along. The key is for everyone to keep each other updated.

Let’s say we are working on a computer game. The marketing guys know that some huge percentage of games are sold in Europe and the USA between 14th and 24th December. We have a hard release date at this point. Missing it means not launching for another year. The marketing team needs to know what will be ready for December 14th so they know if they have a shippable game or not. It would be ideal if parents and consumers would buy games evenly throughout the year and accept new features into games (which is starting to happen) as time goes on. The commercial reality is a Christmas deadline at the moment though.

Recently I’ve been working on a government project with a hard deadline (i.e. enshrined in law). Not having a key core feature set by the launch date will result in a world of legislative pain. The customer needs to know what will be in the software at the target release date so they can head off any problems before they hit Parliament.

A lot of my clients are small and medium businesses. They don’t have a huge amount of money spare to spend on software development, so before buying software they need to know roughly what they are going to spend. When I explain Agile and Lean, most clients understand that they are better off with a more flexible approach to scheduling, features and cost, but the flexibility is not infinite. To place an order they need to have some idea of how much it will cost. Hence we must do some estimating!

It would be great if the world would accept that “we will be done when we are done” with our software project, but I think that commercial reality means that this will never come to pass as generally accepted practice.

Get in touch with our team to learn about range of Agile Services and Workshops to kick start your transformation.