Project Estimation Techniques
Project Estimation Techniques
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:
• Heuristic techniques
Expert judgment is one of the most widely used estimation techniques. In this approach, an expert
makes an educated guess of the problem size after analyzing the problem thoroughly. Usually, the
expert estimates the cost of the different components (i.e. modules or subsystems) of the system and
then combines them to arrive at the overall estimate. However, this technique is subject to human
errors and individual bias. Also, it is possible that the expert may overlook some factors inadvertently.
Further, an expert making an estimate may not have experience and knowledge of all aspects of a
project. For example, he may be conversant with the database and user interface parts but may not be
very knowledgeable about the computer communication part. A more refined form of expert judgment
is the estimation made by group of experts. Estimation by a group of experts minimizes factors such as
individual oversight, lack of familiarity with a particular aspect of a project, personal bias, and the desire
to win contract through overly optimistic estimates. However, the estimate made by a group of experts
may still exhibit bias on issues where the entire group of experts may be biased due to reasons such as
political considerations. Also, the decision made by the group may be dominated by overly assertive
members.
Delphi cost estimation approach tries to overcome some of the shortcomings of the expert judgment
approach. Delphi estimation is carried out by a team comprising of a group of experts and a coordinator.
In this approach, the coordinator provides each estimator with a copy of the software requirements
specification (SRS) document and a form for recording his cost estimate. Estimators complete their
individual estimates anonymously and submit to the coordinator. In their estimates, the estimators
mention any unusual characteristic of the product which has influenced his estimation. The coordinator
prepares and distributes the summary of the responses of all the estimators, and includes any unusual
rationale noted by any of the estimators. Based on this summary, the estimators re-estimate. This
process is iterated for several rounds. However, no discussion among the estimators is allowed during
the entire estimation process. The idea behind this is that if any discussion is allowed among the
estimators, then many estimators may easily get influenced by the rationale of an estimator who may
be more experienced or senior. After the completion of several iterations of estimations, the
coordinator takes the responsibility of compiling the results and preparing the final estimate.
Heuristic Techniques
Heuristic techniques assume that the relationships among the different project parameters can be
modeled using suitable mathematical expressions. Once the basic (independent) parameters are known,
the other (dependent) parameters can be easily determined by substituting the value of the basic
parameters in the mathematical expression. Different heuristic estimation models can be divided into
the following two classes:
Single variable estimation models provide a means to estimate the desired characteristics of a problem,
using some previously estimated basic (independent) characteristic of the software product such as its
size.
Estimated Parameter = c1 * ed 1
In the above expression, e is the characteristic of the software which has already been estimated
(independent variable).
Multivariable estimation models are expected to give more accurate estimates compared to the single
variable models, since a project parameter is typically influenced by several independent parameters.
The independent parameters influence the dependent parameter to different extents. This is modeled
by the constants c1, c2, d1, d2, … . Values of these constants are usually determined from historical
data. The intermediate COCOMO model can be considered to be an example of a multivariable
estimation model.