Estimation can be one of the most difficult parts of a project. How long will the project take? How many resources will it consume? What is the appropriate amount for your consultants to bid on this project? Overbidding on a consulting job means that you won’t get the work in the first place, because the potential customer will give it to your competitor at a cheaper price. Underbidding, however, means you will win the deal and lose money.
The good news is that there are fairly simple ways to estimate your project accurately, giving you the most profit possible.
For estimating projects, use formula [(E-A)/E], where:
E = estimated hours to complete the project
A = actual hours spent to complete the project
The more accurate your bidding is, the smaller this value will be; the ultimate goal is for the figure to be as close as zero as possible. Just tracking this number is a great first step towards better bidding, and you can get the necessary data to calculate it from any timesheet system, including a paper one. Automated timesheet systems, however, are generally even more effective in this area because they often have reports to calculate this figure for you.
The Requirements/Specification Phase
The requirement/specification phase is the first phase in any project. In his book Practical Software Metrics for Project Management and Process Improvement, Robert B. Grady says that 6-8% of every software project is usually eaten up in this initial phase. You can use this fact to estimate total project size. In other words, if it took 60 hours to do the specification, that’s probably 6% of the job and the job will be 1000 hours.
Since the specification always comes first in any project, you can get some pretty reliable estimates from this method alone. In fact, in my experience as both a programmer and the CEO of a software company, I have found it to be incredibly accurate and useful.
Your company’s magic number may not be 6-8% like Grady’s, but once you determine your own ratio for specification to total project length, you can use it again and again. An example of this is illustrated in the following diagram.
Another way to estimate project cost is to select an appropriate metric for estimation. For example, one could use line of code counts or function points in estimating the length and scope of software projects. For architecture projects, you might use number of pages in the drawings or square feet planned as similar analogies. Every project has some gross measure of its size that is available at the outset and can be used to plan the overall project.
It may take some time to figure out the best way to estimate your company’s projects. But as long as you track your data and adapt your methods according to insights from past projects, you will start producing laser sharp estimates before you know it!