Chapter 5 Software Cost Estimation
Chapter 5 Software Cost Estimation
For any new software project, it is necessary to know how much it will cost to develop and
how much development time will it take. These estimates are needed before development
is initiated, but how is this done? Several estimation procedures have been developed and
Page 1 of 13
Static, Single Variable Models: When a model makes use of single variables to calculate
desired values such as cost, time, efforts, etc. is said to be a single variable model. The
Where C = Costs
L= size
estimating its software production. This model is an example of the static, single variable
model.
E=1.4L0.93
DOC=30.4L0.90
D=4.6L0.26
Where E= Efforts (Person Per Month)
Page 2 of 13
and selected equation combined these variables to give the estimate of time & cost. These
The productivity index uses 29 variables which are found to be highly correlated
productivity as follows:
Where Wi is the weight factor for the ithvariable and Xi={-1,0,+1} the estimator
gives Xione of the values -1, 0 or +1 depending on the variable decreases, has no effect
or increases the productivity.
Example: Compare the Walston-Felix Model with the SEL model on a software
development expected to involve 8 person-years of effort.
Then
L (SEL) = (96/1.4)1⁄0.93=94264 LOC
L (SEL) = (96/5.2)1⁄0.91=24632 LOC
Page 3 of 13
(b)Duration in months can be calculated by means of equation
ADVERTISEMENT
(d)Average manning is the average number of persons required per month in the
project
COCOMO Model
Boehm proposed COCOMO (Constructive Cost Estimation Model) in 1981.COCOMO is
one of the most generally used software estimation models in the world. COCOMO
predicts the efforts and schedule of a software product based on the size of the software.
3. Calculate the effort estimate by multiplying the initial estimate with all the
multiplying factors i.e., multiply the values in step1 and step2.
Page 4 of 13
The initial estimate (also called nominal estimate) is determined by an equation of the
form used in the static single variable models, using KDLOC as the measure of the size.
To determine the initial effort Ei in person-months the equation used is of the type is
shown below
Ei=a*(KDLOC)b
The value of the constant a and b are depending on the project type.
In COCOMO, projects are categorized into three types:
1. Organic
2. Semidetached
3. Embedded
1.Organic: A development project can be treated of the organic type, if the project deals
methods of projects. Examples of this type of projects are simple business systems,
simple inventory management systems, and data processing systems.
members may have finite experience in related systems but may be unfamiliar with some
aspects of the order being developed. Example of Semidetached system includes
regulations on the operational method exist. For Example: ATM, Air Traffic control.
For three product categories, Bohem provides a different set of expression to predict
effort (in a unit of person month) and development time from the size of estimation in
Page 5 of 13
KLOC (Kilo Line of code) efforts estimation takes into account the productivity loss due to
1. Basic Model
2. Intermediate Model
3. Detailed Model
1. Basic COCOMO Model: The basic COCOMO model provide an accurate size of the
project parameters. The following expressions give the basic COCOMO estimation model:
Effort=a1*(KLOC) a2 PM
Tdev=b1*(efforts)b2 Months
Where
KLOC is the estimated size of the software product indicate in Kilo Lines of Code,
a1,a2,b1,b2 are constants for each group of software products,
months (PMs).
Estimation of development effort
For the three classes of software products, the formulas for estimating the effort based
For the three classes of software products, the formulas for estimating the development
Page 6 of 13
Embedded: Tdev = 2.5(Effort) 0.32 Months
Some insight into the basic COCOMO model can be obtained by plotting the estimated
characteristics for different software sizes. Fig shows a plot of estimated effort versus
product size. From fig, we can observe that the effort is somewhat superliner in the size
of the software product. Thus, the effort required to develop a product increases very
The development time versus the product size in KLOC is plotted in fig. From fig it can be
observed that the development time is a sub linear function of the size of the product, i.e.
when the size of the product increases by two times, the time to develop the product
does not double but rises moderately. This can be explained by the fact that for larger
products, a larger number of activities which can be carried out concurrently can be
identified. The parallel activities can be carried out simultaneously by the engineers. This
reduces the time to complete the project. Further, from fig, it can be observed that the
development time is roughly the same for all three categories of products. For example,
a 60 KLOC program can be developed in approximately 18 months, regardless of whether
it is of organic, semidetached, or embedded type.
Page 7 of 13
From the effort estimation, the project cost can be obtained by multiplying the required
effort by the manpower cost per month. But, implicit in this project cost computation is
the assumption that the entire project cost is incurred on account of the manpower cost
alone. In addition to manpower cost, a project would incur costs due to hardware and
software required for the project and the company overheads for administration, office
space, etc.
It is important to note that the effort and the duration estimations obtained using the
COCOMO model are called a nominal effort estimate and nominal duration estimate. The
term nominal implies that if anyone tries to complete the project in a time shorter than
the estimated duration, then the cost will increase drastically. But, if anyone completes
the project over a longer period of time than the estimated, then there is almost no
decrease in the estimated cost value.
Example1: Suppose a project was estimated to be 400 KLOC. Calculate the effort and
development time for each of the three model i.e., organic, semi-detached & embedded.
Tdev=b1*(efforts)b2 Months
Estimated Size of project= 400 KLOC
Page 8 of 13
(i)Organic Mode
(ii)Semidetached Mode
E = 3.0 * (400)1.12=2462.79 PM
D = 2.5 * (2462.79)0.35=38.45 PM
(iii) Embedded Mode
Calculate the Effort, development time, average staff size, and productivity of the project.
Solution: The semidetached mode is the most appropriate mode, keeping in view the
D=2.5(1133.12)0.35=29.3PM
P = 176 LOC/PM
2. Intermediate Model: The basic Cocomo model considers that the effort is only a
function of the number of lines of code and some constants calculated according to the
various software systems. The intermediate COCOMO model recognizes these facts and
refines the initial estimates obtained through the basic COCOMO model by using a set of
15 cost drivers based on various attributes of software engineering.
Classification of Cost Drivers and their attributes:
Page 9 of 13
(i) Product attributes -
Personnel attributes -
o Analyst capability
Project attributes -
o Use of software tools
Page 10 of 13
Page 11 of 13
Intermediate COCOMO equation:
D=ci (E)di
Coefficients for intermediate COCOMO
Project ai bi ci di
Page 12 of 13
3. Detailed COCOMO Model: Detailed COCOMO incorporates all qualities of the
standard version with an assessment of the cost driver?s effect on each method of the
software engineering process. The detailed model uses various effort multipliers for each
cost driver property. In detailed cocomo, the whole software is differentiated into multiple
modules, and then we apply COCOMO in various modules to estimate effort and then
3. Complete structure
4. Module code and test
The effort is determined as a function of program estimate, and a set of cost drivers are
given according to every phase of the software lifecycle.
Page 13 of 13