0% found this document useful (0 votes)
190 views27 pages

Project Estimation Techniques

The document discusses various project estimation techniques including empirical, heuristic, and analytical methods. It describes the expert judgment and Delphi estimation techniques under empirical methods. For heuristic techniques, it explains single and multi-variable models. The document also provides details about the COCOMO model, including the basic, intermediate, and complete versions for estimating effort and time required for a project.

Uploaded by

Kaushal Anand
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
190 views27 pages

Project Estimation Techniques

The document discusses various project estimation techniques including empirical, heuristic, and analytical methods. It describes the expert judgment and Delphi estimation techniques under empirical methods. For heuristic techniques, it explains single and multi-variable models. The document also provides details about the COCOMO model, including the basic, intermediate, and complete versions for estimating effort and time required for a project.

Uploaded by

Kaushal Anand
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 27

Project Estimation techniques

• Empirical estimation techniques


• Heuristic techniques
• Analytical estimation techniques
Empirical Estimation Techniques
• Based on making an educated guess of the project parameters.
• 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: 1) Expert judgment
technique
2) Delphi cost estimation
Expert Judgment Technique
• An expert makes an educated guess of the problem size
after analyzing the problem thoroughly.
• 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.
• 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.
Delphi cost estimation
• It overcomes 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.
• No discussion among the estimators is allowed during
the entire estimation process.
Delphi cost estimation
• The coordinator provides each estimator with a copy
of the SRS document and a form for recording his cost
estimate.
• Estimators complete their individual estimates
anonymously and submit to the coordinator.
• 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.
Heuristic Techniques
• It assumes that the relationships among the different project
parameters can be modelled 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.
• Two classes:
1) single variable model and
2) multi variable model
Single variable estimation models
• It provides 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 =
• e is the characteristic of the software which has already been
estimated (independent variable)
• c1 and d1 are constants determined using data collected from past
projects (historical data).
Multivariable cost estimation model

•Where e1, e2, … are the basic (independent)


characteristics of the software already estimated, and
c1, c2, d1, d2, … are constants.
•Multivariable estimation models are expected to give
more accurate estimates.
Project Types
Organic:
Routine project
• Well understood domain
• Team works well and efficiently together
• Project expected to run smoothly
• Typically a smaller system and smaller team
Embedded:
• Difficulties expected
• Project that is hard (control software for a nuclear plant, or
spacecraft)
• Team has little experience in domain
• New or inexperienced team
• Tend to be large projects with lots of constraints
Semidetached:
• In the middle
• Complex system, but something the company is familiar with
• Teams may be made up of experienced and inexperienced members
• System not huge, but not small either
Basic COCOMO Model
• COnstructive COst MOdel
• The basic COCOMO model gives an approximate estimate of the
project parameters.
person-months (PM).
• The effort estimation is expressed in units of person-months (PM).
• An effort of 100 PM does not imply that 100 persons should work for
1 month nor does it imply that 1 person should be employed for 100
months, but it denotes the area under the person-month curve .
• It is the area under the person-month plot.
person-months (PM)
Estimation of development effort
Estimation of development time
Example:

• Assume that the size of an organic type software product has been
estimated to be 32,000 lines of source code. Assume that the average
salary of software engineers be Rs. 15,000/- per month. Determine
the effort required to develop the software product and the nominal
development time.
Intermediate COCOMO model
• The basic COCOMO model assumes that effort and development time
are functions of the product size alone.
• However, a host of other project parameters besides the product size
affect the effort required to develop the product as well as the
development time.
• Therefore, in order to obtain an accurate estimation of the effort and
project duration, the effect of all relevant parameters must be taken
into account.
15 Cost Drivers
• Boehm requires the project manager to rate these 15 different
parameters for a particular project on a scale of one to three.
• Then, depending on these ratings, he suggests appropriate cost
driver values which should be multiplied with the initial estimate
obtained using the basic COCOMO.
Classification of Cost Drivers
Product: The characteristics of the product that are considered
include the inherent complexity of the product, reliability
requirements of the product, etc.
Computer: Characteristics of the computer that are considered
include the execution speed required, storage space required
etc.
Personnel: The attributes of development personnel that are
considered include the experience level of personnel,
programming capability, analysis capability, etc.
Development Environment: Development environment attributes
capture the development facilities available to the developers.
An important parameter that is considered is the sophistication
of the automation (CASE) tools used for software development.
Complete COCOMO model
• A major shortcoming of both the basic and intermediate COCOMO
models is that they consider a software product as a single
homogeneous entity.
• However, most large systems are made up several smaller sub-
systems.
• These subsystems may have widely different characteristics.
• For example, some subsystems may be considered as organic type,
some semidetached, and some embedded.
Example
• A distributed Management Information System (MIS) product for an
organization having offices at several places across the country can have
the following sub-components:
• Database part
• Graphical User Interface (GUI) part
• Communication part
• Of these, the communication part can be considered as embedded
software.
• The database part could be semi-detached software, and the GUI part
organic software.

You might also like