top of page
Tom Ogden

7 Steps to Become an Estimating Maven




Estimating, especially in the software industry, is like rabbit farming. Every time you try to count your livestock, they have babies and multiply the scope. And if you don't have a handle on where something it going, you might chase it down a rabbit hole and never come out again! It's a mysterious discipline that is known for its caprice.

I'm here to tell you, it doesn't have to be that way.

  1. Break it down: Break down the work, then break it down again. Try to get it down to what we call an "atomic" level, where each part is iat the smallest possible (workable) task. This will increase your overall accuracy.

  2. Consider complexity: Examine each estimated task individually and ask part of the whole. Be certain you understand the complexity of it. What are the chances of it "having babies"? Is the architecture totally compatible with it, or will it require retro-fitting.

  3. Analysis is a task, time-box it: You have to admit you don't know something. The process of finding the answers is simply "analysis", and it's a valid task in a project. Just be careful to: 1) acknowledge you cannot know the scope of the analysis; 2) set a limit to the amount of time and effort allowed to get the answers; 3) be prepared to produce multiple new tasks as a result of what you find, and limit the allowable scope of the new tasks. An analysis task needs sufficient time to allocate to it, our it will have to become a blocker for that area.

  4. Be realistic: It's better to overestimate and deliver early than to underestimate and miss deadlines. Does a task contain a conjunction in the title or discription, like "and" — a sign it needs to break down? Does it involve adjustments to "privileges" for users, another sign of hidden complexity?

  5. Study the project history: If you have access to lessons learned or historical data from previous or similar projects, use it to inform your estimates. Look for sprints where estimates broke down or deadlines were missed and try to determine what was missed (estimating higher is not an answer).

  6. Collaborate with team members: NEVER release an estimate with out corroboration. This will help ensure your estimates are realistic and that everyone is on the same page.

  7. Practice makes perfect: The more you work at it, the better you'll become. Compare your estimates to actual results, regardless of how well or poorly you do. This will help you refine your estimation techniques over time.

Certainly, coders have a marked advantage over non-technical project managers in making estimates, but non-technical people can learn the patterns and complexity as well. We should never assume the coders are estimating correctly, nor should we discount the abilities of non-coders to improve on their estimates.

~Tom/*

留言


bottom of page