Agile Zone is brought to you in partnership with:

Steve Lydford is a web developer based in mid-Wales in the United Kingdom. He has been a professional software engineer since 1999 and has written code on many platforms. These days he develops primarily on the .NET platform and blogs at http://blog.stevelydford.com. You can also follow him on Twitter @stevelydford Steve is a DZone MVB and is not an employee of DZone and has posted 9 posts at DZone. You can read more from them at their website. View Full User Profile

Guess why it’s called an estimate?

10.15.2013
| 3834 views |
  • submit to reddit

There is an old saying in the Army which is often wheeled out when asking for a new issue of kit from a Color Sergeant who likes to keep his shelves neat, cataloged and well stocked with shiny things – “The Stores are for storing. If it I was meant to give the kit out it would have been called ‘The Issues’”.

26Montel Military Smart Shelf Image0149_Low Res

I am reminded of these frustrating exchanges whenever I hear of a developer being berated for failing to meet an estimate, by a Project Manager who is trying to keep his burn-down chart neat, well ordered and ‘toeing the line’. An estimate is just that, an estimate. It is the developer’s best guess at how long this task will take, not an exact timeframe for delivery.

I am just waiting for the day I hear a developer turn around the words of my grumpy old Color Sergeant and say back to the Project Manager -  “It’s called an estimate because it is one. If it was meant to be definitive it would be called an ‘Exact’”.

burndown_chart

 

I don’t want to beat up too much on Project Managers here. It is a tough job and, if I’m honest, not one I particularly relish when I am asked to do it from time to time. The PM is always under pressure to predict an accurate date for delivery and the only way she can achieve this is by working from the estimates given to her by the development team. Remember, ‘time is money’, and estimation is all about time…

The problem lies in the reliability of the estimates as a whole; as long as the overall estimate for all tasks within a delivery timeframe is reasonably accurate, then it doesn’t matter so much when some overrun and some come in short.

Reliable estimation comes down to the use of skill and experience and requires the developer to give it the proper amount of thought. A ‘finger in the air’ SWAG [1] is very different to a properly considered estimate. It is one of the signs of an experienced, professional developer to be able to give reliable estimates.

 

1: Scientific Wild-Assed Guess

Published at DZone with permission of Steve Lydford, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)