Transcript Slide 1

The Comparison of the
Software Cost Estimating
Methods
Comparison Estimation Methods - RV
1
1. Expert Judgment Method







The estimating steps using this method:
Coordinator presents each expert with a specification and an
estimation form.
Coordinator calls a group meeting in which the experts discuss
estimation issues with the coordinator and each other.
Experts fill out forms anonymously
Coordinator prepares and distributes a summary of the
estimation on an iteration form.
Coordinator calls a group meeting, specially focusing on having
the experts discuss points where their estimates varied widely.
Experts fill out forms, again anonymously, and steps 4 and 6 are
iterated for as many rounds as appropriate.
Comparison Estimation Methods - RV
2
•The advantages of this method are:

The experts can factor in differences between
past project experience and requirements of
the proposed project.
The experts can factor in project impacts
caused by new technologies, architectures,
applications and languages involved in the
future project and can also factor in
exceptional personnel characteristics and
interactions, etc.
Comparison Estimation Methods - RV
3
•The disadvantages include:




This method can not be quantified.
It is hard to document the factors used by the
experts or expert-group.
Expert may be biased, optimistic, or
pessimistic, even though they have been
decreased by the group consensus.
The expert judgment method always
complements the other cost estimating
methods such as algorithmic method.
Comparison Estimation Methods - RV
4
Estimating by Analogy
The steps using estimating by analogy are:
 Characterising the proposed project.
 Selecting the most similar completed projects
whose characteristics have been stored in
the historical data base.
 Deriving the estimate for the proposed project
from the most similar completed projects by
analogy.
Comparison Estimation Methods - RV
5
The main advantages of this method are:



The estimates are based on actual project
characteristic data.
The estimator's past experience and
knowledge can be used which is not easy to
be quantified.
The differences between the completed and
the proposed project can be identified and
impacts estimated.
Comparison Estimation Methods - RV
6
However there are also some problems
with this method,

Using this method, we have to determine how
best to describe projects. The choice of
variables must be restricted to information
that is available at the point that the
prediction required. Possibilities include the
type of application domain, the number of
inputs, the number of distinct entities
referenced, the number of screens and so
forth.
Comparison Estimation Methods - RV
7
Analogy problems

Once we have characterized the project, we have to
determine the similarity and how much confidence
we can place in the analogies. Too few analogies
might lead to maverick projects being used; too
many might lead to the dilution of the effect of the
closest analogies. Martin Shepperd etc. introduced
the method of finding the analogies by measuring
Euclidean distance in n-dimensional space where
each dimension corresponds to a variable. Values
are standardized so that each dimension contributes
equal weight to the process of finding analogies.
Generally speaking, two analogies are the most
effective.
Comparison Estimation Methods - RV
8
Analogy problems

Finally, we have to derive an estimate for the
new project by using known effort values
from the analogous projects. Possibilities
include means and weighted means which
will give more influence to the closer
analogies.
Comparison Estimation Methods - RV
9
Top-Down Estimating


It focuses on system-level activities such as
integration, documentation, configuration
management, etc., many of which may be
ignored in other estimating methods and it
will not miss the cost of system-level
functions.
It requires minimal project detail, and it is
usually faster, easier to implement.
Comparison Estimation Methods - RV
10
The disadvantages are:


It often does not identify difficult low-level
problems that are likely to escalate costs and
sometime tends to overlook low-level
components.
It provides no detailed basis for justifying
decisions or estimates.
Comparison Estimation Methods - RV
11
Bottom-up Estimating



The advantages:
It permits the software group to handle an
estimate in an almost traditional fashion and
to handle estimate components for which the
group has a feel.
It is more stable because the estimation
errors in the various components have a
chance to balance out.
Comparison Estimation Methods - RV
12
The disadvantages:




It may overlook many of the system-level costs
(integration, configuration management, quality
assurance, etc.) associated with software
development.
It may be inaccurate because the necessary
information may not be available in the early phase.
It tends to be more time-consuming.
It may not be feasible when either time and
personnel are limited.
Comparison Estimation Methods - RV
13
Algorithmic Method





General advantages:
It is able to generate repeatable estimations.
It is easy to modify input data, refine and
customise formulas.
It is efficient and able to support a family of
estimations or a sensitivity analysis.
It is objectively calibrated to previous
experience.
Comparison Estimation Methods - RV
14
General disadvantages:



It is unable to deal with exceptional
conditions, such as exceptional personnel in
any software cost estimating exercises,
exceptional teamwork, and an exceptional
match between skill-levels and tasks.
Poor sizing inputs and inaccurate cost driver
rating will result in inaccurate estimation.
Some experience and factors can not be
easily quantified.
Comparison Estimation Methods - RV
15
Model Calibration

The act of calibration standardises a model. Many models are
developed for specific situations and are, by definition, calibrated
to that situation. Such models usually are not useful outside of
their particular environment. So, the act of calibration is needed
to increase the accuracy of one of these general models by
making it temporarily a specific model for whatever product it has
been calibrated for. Calibration is in a sense customising a
generic model. Items which can be calibrated in a model include:
product types, operating environments, labor rates and factors,
various relationships between functional cost items, and even the
method of accounting used by a contractor. All general models
should be standardised (i.e. calibrated), unless used by an
experienced modeler with the appropriate education, skills and
tools, and experience in the technology being modeled.
Comparison Estimation Methods - RV
16
Calibration

Calibration is the process of determining the deviation from a
standard in order to compute the correction factors. For cost
estimating models, the standard is considered historical actual
costs. The calibration procedure is theoretically very simple. It is
simply running the model with normal inputs (known parameters
such as software lines of code) against items for which the actual
cost are known. These estimates are then compared with the
actual costs and the average deviation becomes a correction
factor for the model. In essence, the calibration factor obtained is
really good only for the type of inputs that were used in the
calibration runs. For a general total model calibration, a wide
range of components with actual costs need to be used. Better
yet, numerous calibrations should be performed with different
types of components in order to obtain a set of calibration factors
for the various possible expected estimating situations.
Comparison Estimation Methods - RV
17
Some recommendations:






Do not depend on a single cost or schedule estimate.
Use several estimating techniques or cost models, compare the
results, and determine the reasons for any large variations.
Document the assumptions made when making the estimates.
Monitor the project to detect when assumptions that turn out to
be wrong jeopardize the accuracy of the estimate.
Improve software process: An effective software process can be
used to increase accuracy in cost estimation in a number of
ways.
Maintaining a historical database
Comparison Estimation Methods - RV
18