No one likes to generate estimates. They trigger anxiety, frustration, boredom and are usually inaccurate anyway.
At some point in human history, estimates evolved into something more than what they’re intended to be. Perhaps we have shady contractors, auto garages, and wedding planners to thank for the modern perception that billing a client more than the estimated value means someone has been mislead, or taken advantage of. Or, perhaps it’s the fact that generating an accurate estimate is genuinely, extremely difficult — especially given that many estimates are expected to be delivered while there are still many unsolved variables on the slate. Somewhere along the way, we’ve lost sight of the fact that an estimate is really just your best guess, based on a combination of the information available at the time and your experience.
Setting expectations is a crucial aspect of delivering your estimate. Your client must be reminded that an estimate is your best guess and not a draft copy of the final invoice.
Now, setting expectations makes the discrepencies between the estimate and the final invoice easier to swallow, but it doesn’t make you a better estimator. Traditional estimates often focus on deliverables. Deliverable A will be X dollars, and Deliverable B will be Y dollars. This is a format is easily understood by the client, but makes the poor soul creating the estimate sweat. Deciding on a time or dollar value based on a mental image of a loosely defined deliverable is asking for trouble.
To become a better estimator you need to keep in mind that even the most complex projects can be broken down into a series of small tasks. It’s practically impossible to accurately estimate how long it will take to complete a complex project. It’s far more reasonable to guess how quickly you can perform individual tasks.
My process of task generation follows a few basic guidelines:
- Tasks should be small. The smaller the task, the more accurate the estimate will be. Additionally, smaller tasks give a psychological edge as they’re are inherently better defined, and less daunting than large tasks.
- Tasks should all be approximately the same size. It’s human nature to put off doing larger, less defined tasks. This is rarely a good thing and can easily be circumvented by making all tasks the same size.
- Tasks should be detailed. Within reason, tasks should include as much detail as possible. If you’re working on a team, you may not be the person executing the task, so provide detail that others would understand so the task need not be outlined twice. If you find yourself writing paragraphs here, you probably need to split the task into a series of smaller ones.
Now, we have a big list, of managable, equally-sized tasks. Since the tasks are small, it’s easy to take three or four of them and make fairly accurate estimates on them. Since the tasks are all approximately the same size, the average estimate for those three or four tasks multiplied by the number of tasks will leave you with a reasonably accurate overall estimate, saving you having to estimate each step of the project directly. We can also group tasks back into our deliverables and provide more accurate deliverable by deliverable estimates for easy client consumption.
Aside from generating more accurate estimates, we’re also left with a valuable outline of the project, which can be used to execute the development of the project. Additionally, going through this process will often bring issues and questions to the surface, which will improve your perception of the project, ultimately making your estimates all the more precise.
In a future post, I will go into how this method of generating estimates fits into the new project management framework I’ve been hinting at.

2 Comments to “Creating Accurate Estimates Quickly”
I’m liking this. Only issue I see is that this might not satisfy everyone’s definition of ‘quickly’. Sadly I suspect that ultimately, the quicker and more effortless your estimate, the greater the risk that somethings been overlooked. Best we can hope for is an ‘efficient’ estimating process.. And I think your model so far fits the bill well.
Dom: Fine point. “Creating Accurate Estimates Efficiently” would certainly have been a better title.