Explain Project Estimation Techniques

Software project estimation is a form of problem solving, and in most cases, the problem to be solved (i.e., developing a cost and effort estimate for a software project) is too complex to be considered in one piece.Estimation of resources, cost, and schedule for a software engineering effort requires experience, access to good historical information (metrics), and the courage to commit to quantitative predictions when qualitative information is all that exists.

Project Estimation Techniques

Estimation of various project parameters is a basic project planning activity. The important project parameters that are estimated include: project size, effort required to develop the software, project duration, and cost. These estimates not only help in quoting the project cost to the customer, but are also useful in resource planning and scheduling.

There are three broad categories of estimation techniques:

 Empirical estimation techniques

• Heuristic techniques

• Analytical estimation techniques

Empirical Estimation Techniques

Empirical estimation techniques are based on making an educated guess of the project parameters. While using this technique, prior experience with development of similar products is helpful. Although empirical estimation techniques are based on common sense, different activities involved in estimation have been formalized over the years. Two popular empirical estimation techniques are: Expert judgment technique and Delphi cost estimation.

Heuristic techniques

As techniques basically uses the concept of learning from the previous project and estimate the cost. Although intuitively very similar to expertise based techniques, heuristic estimation technique take a different angle. The objective is to find a similar system produced earlier and through knowing how the properties of the new system vary from the existing one

Analytical estimation techniques

Unlike empirical and heuristic techniques, analytical techniques do have scientific basis. Halstead’s software science is an example of an analytical technique. Halstead’s software science can be used to derive some interesting results starting with a few simple assumptions. Halstead’s software science is especially useful for estimating software maintenance efforts. In fact, it outperforms both empirical and heuristic techniques when used for predicting software maintenance efforts

Leave a Reply