Sei sulla pagina 1di 11

INTERNATIONAL JOURNAL OF

PROJECT
MANAGEMENT
International Journal of Project Management 23 (2005) 297–307
www.elsevier.com/locate/ijproman

Cost estimation of a software product using


COCOMO II.2000 model – a case study
R. Dillibabu *, K. Krishnaiah
Department of Industrial Engineering, College of Engineering, Anna University, Guindy, Chennai 600025, Tamilnadu, India

Received 25 May 2004; received in revised form 25 June 2004; accepted 10 November 2004

Abstract

This paper discusses the estimation cost in terms of effort spent on a software product (project). COCOMO II.2000 Model has
been employed for estimating the effort of an embedded system project. This study has been made in a software services company,
which is involved in software development for an embedded system, client-server and Internet environment. The embedded systems
group is involved in developing software for major car manufacturers. This study is based on a sample of ten projects, of which eight
are development projects and two are porting projects. The actual effort on the projects has been collected from the metrics database
of the company. The Lines of code for the various projects have been enumerated using ‘‘Code Count’’ tool to achieve the logical
source lines of code for each project. The standard questionnaire has been used to collect the required data to arrive at the various
scale factors and effort multipliers. The calibration of the COCOMO (Constructive Cost Model) has been done through Natural
Log approach and curve fitting approach. Statistical tools like MS-EXCEL 2000, SPSSv10, Curve Expert 1.3 and data fit have been
used for this purpose. The study shows that the curve fitting approach yields better estimates of the model parameters. The calibra-
tion of COCOMO Model helps the company estimate the effort that is to be spent on the software development projects.
Ó 2004 Elsevier Ltd and IPMA. All rights reserved.

Keywords: Embedded systems; Calibration; Scale factors and effort multipliers

1. Introduction Model) and other initiatives, the software companies


adopted formal techniques like Work Breakdown Struc-
According to Gartner Report [20], one of the main ture (WBS) based cost estimation and parametric esti-
challenges the Indian software industry is facing, espe- mation. One can never rely completely on experience-
cially in the aftermath of sept 11th is the intense down- based estimation in the software industry because of
ward pressure on pricing and offshore billing rates for the rapidly changing technology, which renders the
low-end work (e.g., maintenance and coding) have experience-based estimates ineffective. Further, price-
dropped from $80 to $40 per hour to $12 to $20 to-win strategy is not very favorable for any company
for smaller vendors. This has forced the companies to in the long run. Hence, there is a need to come up with
look into their practice of estimating the cost for soft- a suitable cost model to account for the effort spent on
ware development. Until now, most companies have re- developing software, right from requirements specifica-
lied on experience and ‘‘Price-to-win’’ strategies for tion to delivery and maintenance.
getting past competitors to win projects. With the emer-
gence of concepts like CMM (Capability Maturity 1.1. Software cost estimation and project management

*
Corresponding author. Tel.: +91 44 22203187. As software industry is very competitive, it is indis-
E-mail address: prdillibabu@rediffmail.com (R. Dillibabu). pensable, to establish the market with the right pricing.

0263-7863/$30.00 Ó 2004 Elsevier Ltd and IPMA. All rights reserved.


doi:10.1016/j.ijproman.2004.11.003
298 R. Dillibabu, K. Krishnaiah / International Journal of Project Management 23 (2005) 297–307

This makes software cost estimation as one of the very Based on these observations, the following objectives
important issues in the software development process. are listed:
For a software project, estimation comprises size, effort,
and schedule estimate. Size estimate is the measure of 1. To study the COCOMO model and its increments.
the size of the final work product. It gives a measure 2. To come up with suitable estimates for the scale driv-
of the ground to be covered in order to achieve the ers and effort multipliers for the COCMO II.2000
end result. Effort estimate is the effort, in person- model using data from industries.
months, to produce the work product. Schedule estimate 3. To fit COCOMO II.2000 Model for practical data in
is the calendar time it would take to accomplish the ef- a software company.
fort, taking into account the resource constraints of an 4. To evaluate the model using ConteÕs criteria [5].
organization and the extent of parallelism that can be
derived. Eventually, both the customer and the organi-
sation are interested in the cost of the project in its dol-
lar value. Cost estimate [18] in dollar value is given by 2. Literature
Cost estimate ¼ No: of person months
From literature it was found that the following pa-
 Cost per person-months of effortð$Þ: pers are more relevant for software cost estimation.
‘‘Software cost estimation’’ by Danfeng Hang [6] and
The size, effort and schedule estimates get translated ‘‘Estimating software cost’’ by Lawrence H Putnam
into cost estimates. The purpose of going through the and Ann Fitzsimmons [17]. The authors have reviewed
size, effort and schedule estimates is to analyse factors the literature and presented the major software cost esti-
that contribute to the overall software development cost mation models with their strengths and weaknesses. The
in the final dollar value of the estimate. abstract from these two papers has been presented in
Table 1.
1.2. Software cost estimation in embedded system The following conclusions can be drawn from the re-
view of literature:
This paper discusses the software cost estimation in
terms of effort spent for the embedded systems group (i) None of the alternatives is better than the others in
of a company. Initially the existing system for software all aspects.
cost estimation has been studied and the following (ii) The Parkinson and Price-to-win methods are not
observations are made: widely accepted and do not produce satisfactory
cost estimates.
(i) The projects in the embedded system group are of (iii) The strength and weakness of other techniques are
short duration. complementary (particularly the algorithmic model
(ii) The projects are up to 4K in size. versus expert judgment and top-down versus bot-
(iii) More number of completed projects is available for tom-up).
the study.
(iv) The waterfall model has been used in these projects. Since most of the researchers have used the algorith-
(v) The present effort (cost) estimation procedure lacks mic model, it has been selected for applying in this
scientific approach. study. Algorithmic models are the most formal amongst

Table 1
Abstract from review papers on software cost estimation models
Models and authors Strengths Weakness
1. Algorithmic Model, Putnam [23] Objective, repeatable, analogy formula, Subjective inputs, calibrated to past, not the future &
efficient, good for sensitivity analysis & assessment of exceptional circumstances
objectively calibrated to experience
2. Expert Judgment Delphi Techniques [12] Assessment of representativeness, No better than participants, biases & incomplete recall
interactions, exceptional circumstances
3. Analogy Norden, Peter [16] Based on representative experience Representativeness of experience
4. Parkinson, Parkinson [17] Correlates to some experience Reinforces poor practice
5. Price-to-win, Boehm [4] Often gets the contract Generally produces large overruns
6. Top-down, Albrecht and Gaffney [1] System level focus and efficient Less detailed basis. Fewer stables
7. Bottom-up, Albrecht and Gaffney [1] More detailed basis and more stable May overlook system level cost & requires more effort
8. Dynamic Modeling, Putnam [23] More detailed basis More time and data required for validating &
developing a model
R. Dillibabu, K. Krishnaiah / International Journal of Project Management 23 (2005) 297–307 299

the various techniques. Fenton and Pfleeger [8] describes (i) System Software Sizing (SSS).
two types of algorithmic model: (ii) Business Application Software Sizing (BASS).

(a) Cost Models: These models provide direct estimates Depending on the nature of the project, i.e., a sys-
of effort. Most cost models are based on empirical tems project or a business application project, the rel-
data reflecting factors that contribute to the overall evant model is chosen for the purpose of estimation.
cost. Often, they have a primary cost factor such as The function points are counted based on the stan-
size and a number of secondary adjustment factors dardized template for SSS/BASS. The factors that
or cost drivers. influence the general system characteristics are consid-
(b) Constraint Models: Constraint models demonstrate ered to arrive at adjusted function points. This forms
the relationship over time between two or more the basis for arriving at the suitable effort estimate.
parameters of effort, duration or staffing levels. The process adopted is as proposed by the Interna-
The Rayleigh curve [14] is used as a constraint in tional Function Point Users Group (IFPUG [10])
several commercial proprietary models like Put- for BASS and is a variant of the IFPUG process
namÕs SLIM [17] and RCA Price-S [13]. Sufficient for SSS. The WBS for the project is designed simul-
material is not available for evaluating these taneously once the RFPÕs and scope change docu-
models. ments are finalized. An estimate of effort based on
the WBS is made, which is then crosschecked with
the function point [7] based estimate. The estimation
2.1. Function points group does this review, which also gives correction
factors to the assumptions made. The estimate is
(i) Function point [7] counts do not depend on the finalized once the corrections are made to the
source languages used. It can be obtained early in assumptions, in which a revised WBS is designed.
the development cycle. This revised WBS forms the basis for the scheduling
(ii) Function Point counts are oriented toward the cus- and phase wise breakdown of effort. These details
tomerÕs view rather than the producerÕs view, this go into schedule document and the project proposal.
emphasis the focus on value received, rather than Once the proposal is accepted, the project managerÕs
on the particular design that is employed. workbook and the SQA workbook become active.
(iii) Function point counts are not equally applicable to These are updated as and when each phase or module
all kinds of software. Although effective in business is completed.
environments, they have not enjoyed widespread
success in embedded systems or heavily computa-
tional applications. 3.1. Weakness in the current estimation process

The WBS based approach towards effort estimation


has many drawbacks. Some of them are listed below:
3. Current estimation process
(i) The WBS based estimate involves experience-based
The Case Company has an elaborate metrics system estimates at the module/phase level. This estimate
to capture data from the projects executed. This is can be biased. The nature of the bias may range
summarized in the form of Project ManagerÕs (PM) from Availability bias, Representative bias, Over-
workbook and Software Quality Analysts (SQA) confidence bias, Precedence bias, etc. [15].
Workbook. The PM workbook concentrates on captur- (ii) Even though WBS biased estimate may be easier, it
ing the various metrics for various milestones of the is based on the assumption that the person doing
projects, like project start date, end date, modules the estimate has had adequate domain experience
included, estimated effort, actual effort, LOC, etc. The in the company and he/she will remain in the com-
details available in this report enable the reader to visu- pany forever. These assumptions can change at any
alize the project. The SQA Workbook contains details point of time.
regarding the quality related activities like number of
defects, severity of defect, defect injection, defect detec- Hence, there is a need for an estimating process,
tion, etc. which is predictable and not dependent on a single indi-
The cost (effort) is estimated using combination of vidual. Further, it should be easy to use and reproduc-
function points and WBS. The process of estimation be- ible. The COCOMO II.2000 model integrated with
gins once the Request For Purpose (RFP) and the scope function points will meet these requirements. Further,
change are finalised. The estimation process uses two this model can be calibrated for other development envi-
models for the purpose of size estimation: ronments in the company.
300 R. Dillibabu, K. Krishnaiah / International Journal of Project Management 23 (2005) 297–307

4. The COCOMO II.2000 model tent measures across different programming languages.
In COCOMO II, the logical source statement has been
The model is defined in terms of scale factors (SFj) chosen as standard line of code.
and effort multipliers (EMi), which are used for estimat-
ing effort (cost) that is required to develop software pro-
ject. The response obtained from Project Managers 4.3. Effort estimation
through a standard questionnaire is made use of for esti-
mating the parameters of the model. The COCOMO II effort estimation model is shown in
Eq. (1). This model is used for both the Early Design
4.1. Overview of the COCOMO II.2000 model and Post-Architecture cost models to estimate effort
for the Waterfall lifecycle models. The inputs are the
The Constructive Cost Model (COCOMO II [2]) for Size of software development, a constant ÔAÕ, an expo-
cost estimation is based on three major stages of any nent ÔEÕ, and a number of values called effort multipliers
development project. It acknowledges the fact that the (EM). The number of effort multipliers depends on the
lines of code are impossible to know early in the devel- model
opment cycle. In stage I, the project usually builds pro-
totypes to resolve high-risk issues that involve user PMns ¼ A  SizeE  Pni¼1 EMi ;
interfaces, software and system interaction, perfor- where ns ¼ nominal schedule & A ¼ 2:94
mance, or technical maturity. In this stage, COCOMO
II estimates size using object points. This technique cap- ðfor COCOMO II:2000Þ: ð1Þ
tures size in terms of high-level effort, generates such as
number of server data tables, number of client data ta- The constant, ÔAÕ, approximates a productivity constant
bles and the percentage of screens and reports reused in PM/KSLOC for the case where PM = Person Months
from previous projects. & E = 1.0 Productivity changes as ÔEÕ increases because
In stage 2, COCOMO II employs function points as a of the non-linear efforts on size. The constant ÔAÕ is ini-
size measure. Function Points estimate the functionality tially set when the model is calibrated to the project
captured in the requirements, thereby offering a richer database reflecting a global productivity average. The
system description than object points. By stage 3, devel- COCOMO model should be calibrated to local data,
opment would have begun and more information would which then reflects the local productivity and improves
be made available. Sizing is done in terms of lines of the modelÕs accuracy.
code and many cost factors can be estimated with some
degree of comfort.
4.4. Scale drivers
4.2. Sizing and counting source lines of code (SLOC)
The scale drivers in the exponent, E, are used only at
A good size estimate is very important for any good the project level. The exponent E in Eq. (2) is an aggre-
model estimation. COCOMO II model uses size data gation of five scale drivers that account for the relative
that influences effort, i.e., new code and code that is re- economies or diseconomies of scale encountered for
used and modified. All the projects analyzed in this software projects of different sizes. Software projects
study are considered to have new code, since the projects generally exhibit diseconomies of scale because of two
have very negligible or no reused code. main factors:
For new and reused code, a method is used to
make them equivalent so that they can be rolled up 1. Growth of interpersonal communication overhead.
into an aggregate size estimate. The baseline size in 2. Growth of large-system integration overhead.
COCOMO II is a count of new lines of code. The
adjustment takes into account the amount of design, Eq. (2) defines the exponent, E, used in Eq. (1).
code and testing that has to be changed. It also con- Each scale driver has a range of rating levels, from
siders the understandability of the code and the pro- very low to extra high. Each rating level has a weight.
grammer familiarity with the code. Code size is The specific value of the weight is called a scale factor
expressed in thousands of source lines of code (SF). The projectÕs scale factors, the selected scale dri-
(KSLOC). The goal is to measure the amount of intel- ver ratings, are summed and used to determine a scale
lectual work that is put into program development. exponent, E
Defining a line of code is difficult because of concep-
tual differences involved in accounting for executable X
E ¼ B þ 0:01  SFj ;
statements and data declarations in different lan-
guages. Difficulties arise while trying to define consis- where B ¼ 0:91 ðfor COCOMO II:2000Þ: ð2Þ
R. Dillibabu, K. Krishnaiah / International Journal of Project Management 23 (2005) 297–307 301

5. Methodology, fitting and calibration to the local ibrated and uncalibrated model. This will be achieved
environment using Eqs. (7)–(11).

5.1. Methodology
5.5. ConteÕs criteria
To achieve the objectives proposed, the following
methodology is proposed. The COCOMO II software Here the Magnitude of Relative Error (MRE) is com-
cost and schedule model will be used to estimate the effort puted (degree of estimating error in an individual esti-
of projects. These estimates will then be compared with mate) for each data point. This step is a precedent to
actual values of effort. The results will be analysed to the next step and is also used to calculate PRED (e).
determine the overall effectiveness of the model. To aid An MRE of 25% or less indicates satisfactory results
in understanding the process, the step-by-step description MRE ¼ jðEstimate  ActualÞ=Actualj: ð7Þ
of the proposed calibration of the model is described.
Calculate the mean magnitude of relative error (average
5.2. Model calibration by natural log approach degree of estimating error in a data set) for each data
set. According to Conte, the MMRE should also have
COCOMO II will be calibrated using the COCOMO a value of 25% or less
Equation (Eq. (3)). The number of data points consid- MMRE ¼ ðRMREÞ=n; ð8Þ
ered is ten. In this approach, only the multiplicative cal-
ibration variable ‘‘A’’ will be calibrated where n = total number of estimates.
Calculate the root mean square (ModelÕs ability to
PMns ¼ A  SizeE  Pni¼1 Emi accurately forecast the individual actual effort) for each
X
s
data set. This step is a precedent to the next step only.
where E ¼ B þ 0:01  SFj : ð3Þ
Again, satisfactory results are indicated by a value of
j¼1
25% or less
2 0:5
5.3. Analysis by curve fitting RMS ¼ ½1=n  RðEstimate  ActualÞ  : ð9Þ
Calculate the relative root mean square (modelÕs abil-
Most software cost models can be abstracted into a ity to accurately forecast the average actual effort) for
function of five basic parameters: size, process, person- each data set. According to Conte, the RRMS should
nel, environment and required quality [19]. The relation have a value of 25% or less
among these parameters and the estimate effort can be
RRMS ¼ RMS=½RðActualÞ=n: ð10Þ
written as follows:
A model should also be within 25% accuracy, 75% of the
Effort ¼ ðPersonnelÞðEnvironmentÞðQualityÞSizeðprocessÞ : time. To find this accuracy rate PRED (e), divide the to-
ð4Þ tal number of points within a data set that has an
Eq. (4) describes a power equation of the form MRE = 0.25 or less (represented by n). The equation
then is
Y ¼ L  XM; ð5Þ
PRED ðeÞ ¼ k=n; ð11Þ
where Y = effort, X = size and L and M are constants.
where e equals 0.25.
When compared with the COCOMO II.2000 model
This methodology seems to be sound since it is based
equation (Eq. (3)), we arrive at the following:
on proven and accepted mathematical and statistical
X X
L¼A EMi and M ¼ B þ 0:01  SFj : ð6Þ analysis.

By fitting a power curve between the Logical SLOC 5.6. Fitting of the COCOMO model
and the Actual Effort, by using Eqs. (5) and (6), a bet-
ter calibrated COCOMO II model can be arrived at. The following steps are used in fitting the model to
These values of ÔAÕ and ÔBÕ will help in analysing the the practical data applicable for a software service
software development process in the company in a company:
better manner.
1. Mining and normalizing of project data from the pro-
5.4. Validation of methodology ject database.
2. Counting the lines of code.
The validation of the above analysis is done using 3. Arriving at values for scale factors and effort
ConteÕs Criteria [5], to determine the accuracy of the cal- multipliers.
302 R. Dillibabu, K. Krishnaiah / International Journal of Project Management 23 (2005) 297–307

4. Formulation of the uncalibrated COCOMO Effort Table 2


Equation. LOC count using ‘‘Code Count’’ tool in KLOC
5. Calibrating the values of multiplicative constants to Project name Project type KLOC
arrive at a customised calibrated COCOMO Effort PROJ1 Development 12.58
Equation. PROJ2 Development 13.324
6. Validation of the calibrated and the uncalibrated PROJ3 Development 5.286
PROJ4 Development 31.03
COCOMO equation. PROJ5 Development 10.902
PROJ6 Development 7.749
PROJ7 Development 5.58
5.7. Mining and normalizing of project data from the PROJ8 Development 7.223
project database PROJ9 Porting 33.568
PROJ10 Porting 38.861

Data mining from 10 Embedded System Projects (8


Development Projects and 2 Porting Projects) are under-
taken in two phases. In the first phase, preliminary data 5.10. Formulation of the COCOMO equation
from SQA workbook and PM workbook was explored
for each of the 10 projects and normalized. This pro- Based on these responses, the original COCOMO II
vided an insight into various modules in a particular equation (Eq. (1)) is transformed as shown below
project and details like the planned effort, actual effort,
Effort ¼ 49:12  Size1:08 : ð12Þ
size (module-wise). Other data about the projects are
collected into a Master Table Form. This master table The estimate of the effort for the 10 projects, based
facilitates in finding data that is missed from the two on the above equation is shown in Table 6. It is seen that
workbooks. the error between the estimated effort and actual effort is
In the second phase, data for each of the project was very high for porting projects. This may introduce a very
further explored and missing data was mined from the serious error during the process of calibration. Hence,
various databases in the company, with the aid of this the porting projects are not considered for the purpose
master table. The data was normalized because of the of calibration and calibration is done using eight devel-
huge differences in configuration management across opment projects only.
various projects.
5.11. Calibration of the COCOMO equation
5.8. Counting the lines of code
5.11.1. Natural log approach
The lines of code for all projects are available in the The generic COCOMO II model discussed previously
metrics database in the company in the form of physical has been used to estimate software development efforts
LOC. It is found that the company has used a code for a variety of project types. However, this model can
counting utility called ‘‘Measure’’. This utility followed be tailored to a particular organisation or project do-
certain rules for counting, which are not in conformance main to arrive at more accurate estimates. The COCO-
with the rules specified by the authors of the COCOMO MO II Post-Architecture model is significantly more
model. accurate when calibrated to an organization. All that
For this purpose, the authors of the model have needs to be done is to calibrate the constants, ÔAÕ and/
also developed ‘‘Code Count’’, a utility for counting or ÔBÕ, in the effort estimation equation. The intent of
the lines of code as per the requirements of the CO- calibration is to take the productivity and activity distri-
COMO suite of models. This utility has been down- butions of the local development environment into
loaded [21] and applied to all the projects (Table 2). account.
Shows the LOC count. Local calibration improves predication accuracies
because:
5.9. Scale factors and effort multipliers
 The rating scale is subjective, leading to inconsisten-
The scale factors and effort multiplier have to be ob- cies across different organizations.
tained for each of the 10 projects. Due to limitation of  The lifecycle activities as covered by COCOMO II
resources, it has been decided to administer a question- may be slightly different from the lifecycle activities
naire based on various criteria such as spreadsheet soft- as covered by the company.
ware package.
The responses have been analyzed using spreadsheet The definitions as used by COCOMO II may differ
software and the results arrived at are listed in Tables from those being used by the company. For, e.g., CO-
3–5. COMO II defines 1 person-month (PM) as 152 per-
R. Dillibabu, K. Krishnaiah / International Journal of Project Management 23 (2005) 297–307 303

Table 3
Scale factors
Project name Project type PRECa FLEXb RESLc TEAMd PMATe
PROJ1 Development 2.48 4.05 5.65 3.29 1.56
PROJ2 Development 2.48 4.05 2.83 1.10 3.12
PROJ3 Development 2.48 4.05 5.65 3.29 1.56
PROJ4 Development 2.48 4.05 5.65 3.29 1.56
PROJ5 Development 2.48 4.05 5.65 3.29 1.56
PROJ6 Development 2.48 4.05 5.65 3.29 1.56
PROJ7 Development 2.48 4.05 5.65 3.29 1.56
PROJ8 Development 2.48 4.05 2.83 2.19 1.56
PROJ9 Porting 4.96 5.07 2.83 0.00 3.12
PROJ10 Porting 0.00 5.07 2.83 2.19 7.8
a
Precedentedness.
b
Development flexibility.
c
Architecture/risk resolution.
d
Team.
e
SW-CMM level 1–5.

Table 4
Effort multipliers (product and platform factors)
RELYa DATAb CPLXc RUSEd DOCUe TIMEf STORg PVOLh
0.82 0.90 0.87 1.00 1.00 1.11 1.00 0.87
1.00 0.90 0.87 1.00 1.00 1.11 1.05 0.87
0.82 0.90 0.87 1.00 1.00 1.11 1.00 0.87
0.82 0.90 0.87 1.00 1.00 1.11 1.00 0.87
0.82 0.90 0.87 1.00 1.00 1.11 1.00 0.87
0.82 0.90 0.87 1.00 1.00 1.11 1.00 0.87
0.82 0.90 0.87 1.00 1.00 1.11 1.00 0.87
1.00 1.00 0.87 1.15 1.00 1.63 1.00 0.87
0.92 0.90 1.74 1.24 1.00 1.63 1.00 0.87
0.82 0.90 1.74 0.95 1.00 1.00 1.00 0.87
a
Required software reliability.
b
Database size.
c
Product complexity.
d
Developed for reusability.
e
Documentation match to life-cycle needs.
f
Execution time constraint.
g
Major storage constraint.
h
Platform volatility.

son-hours. But the company evaluates one person- 5.11.2. Curve fitting approach
month as 176 person-hours (8 h/day * 22 days/month). Another approach adopted for the calibration of the
The simplest way to account for these variations is to constants is the curve fitting method. Power curves are
calibrate the multiplicative constants, A and B. fitted with the help of the following statistical tools using
First, the calibration is done using the Natural Log Eqs. (13) and (14):
Approach as described by Boehm et al. [4]. This is done
on the multiplicative constant ÔAÕ using data from com-  Excel 2000 from Microsoft.
pleted projects. The authors of the model have recom-  SPSS v10 from SPSS Corporation.
mended at least 5 data point for the calibration of the  Datafit 8.0 from Oakdale Engineering.
constant ÔAÕ where as here data from 8 projects have  Curve Expert 1.3.
been used (Table 7). Shows the outcome of this exercise.
The value of the multiplicative constant ÔAÕ is obtained It is found that the curve fit given by Excel and SPSS
from Table 7. Its value is 2.79. The estimated effort for explains the dependency of actual effort on the LOC to
the 8 projects is shown in Table 8. the extent of 43%. The other statistical tools have given
304 R. Dillibabu, K. Krishnaiah / International Journal of Project Management 23 (2005) 297–307

Table 5
Effort multipliers (personnel and product factors)
ACAPa PCAPb PCONc APEXd LTEXe PLEXf TOOLg SITEh SCEDi
0.85 0.88 1.29 1.00 1.00 1.09 1.17 0.86 1.00
0.71 0.76 1.00 0.88 0.91 1.00 0.90 1.00 1.43
0.85 0.88 1.29 1.00 1.00 1.09 1.17 0.86 1.00
0.85 0.88 1.29 1.00 1.00 1.09 1.17 0.86 1.00
0.85 0.88 1.29 1.00 1.00 1.09 1.17 0.86 1.00
0.85 0.88 1.29 1.00 1.00 1.09 1.17 0.86 1.00
0.85 0.88 1.29 1.00 1.00 1.09 1.17 0.86 1.00
0.85 0.88 1.00 1.00 1.00 1.00 0.90 1.00 1.00
0.71 0.76 1.00 0.88 0.84 0.91 0.78 1.09 1.43
1.00 0.88 1.00 1.00 1.00 1.00 1.17 0.86 1.14
a
Analyst capability.
b
Programmer capability.
c
Personnel continuity.
d
Applications experience.
e
Language and tool experience.
f
Platform experience.
g
Use of software tools.
h
Multi-site development.
i
Required development schedule.

Table 6
Effort estimation with original COCOMO Equation
Project name Project type KLOC Actual effort Actual effort (PM) COCOMO effort (PM)
PROJ1 Development 12.58 249.56 11.34375 12.37
PROJ2 Development 13.324 324.03 14.728693 33.79
PROJ3 Development 5.286 144.50 6.5713636 13.12
PROJ4 Development 31.03 466.50 21.204545 5.11
PROJ5 Development 10.902 466.22 21.191761 31.07
PROJ6 Development 7.749 476.15 21.643239 10.69
PROJ7 Development 5.58 45.00 2.0454545 7.55
PROJ8 Development 7.223 77.94 3.5426136 5.18
PROJ9 Porting 33.568 762.73 34.669318 7.29
PROJ10 Porting 38.861 208.63 9.4829545 36.19

Table 7
Calibration using the natural log approach
Project name Project type PMActual KSLOC Unadjusted estimate Ln(PMActual) Ln(UE) Ln(Diff)
PROJ1 Development 249.56 12.58 757.37 5.52 6.63 1.11
PROJ2 Development 324.03 13.32 805.87 5.78 6.69 0.91
PROJ3 Development 144.57 5.286 296.84 4.97 5.70 0.72
PROJ4 Development 466.50 31.03 2008.61 6.15 7.61 1.46
PROJ5 Development 466.22 10.902 648.85 6.14 6.48 0.33
PROJ6 Development 476.15 7.749 448.72 6.17 6.11 0.06
PROJ7 Development 45.00 5.58 314.71 3.81 5.75 1.94
PROJ8 Development 77.94 7.223 415.91 4.36 6.03 1.67
Average = 1.03
Effort = 2.79

an equation with the coefficient of determination as ware development activity shows diseconomy of
36%. And the error between the estimated effort and scale, when a relation is considered between the soft-
the actual effort is same for both the equations. Table ware size and development effort [19]. The equation
9. Shows the resulted equations. arrived at by the tools Data fit and Curve Expert
shows economies of scale, whereas the equation given
5.12. Validation of the calibrated models by Excel and SPSS shows diseconomies of scale.
Hence, the equation given by Excel and SPSS (Eq.
Tables 10 and 11 shows the effort estimation using (12)) is taken as the outcome of the curve fitting
the Eqs. (13) and (14). Studies have shown that soft- approach.
R. Dillibabu, K. Krishnaiah / International Journal of Project Management 23 (2005) 297–307 305

Table 8
Effort estimation using the natural log approach
Project name Actual effort COCOMO effort MRE MMRE RMS RRMS Pred(0.25)
PROJ1 249.56 834.65 2.34 2.34 585.09 2.34 0
PROJ2 324.03 888.10 1.74 2.04 574.63 2.00 0
PROJ3 144.57 327.13 1.26 1.78 480.91 2.00 0
PROJ4 466.50 2213.57 3.75 2.27 967.74 3.27 0
PROJ5 466.22 715.05 0.53 1.92 872.70 2.64 0
PROJ6 476.15 494.51 0.04 1.61 796.70 2.25 0.10
PROJ7 45.00 346.82 6.71 2.34 746.37 2.41 0.10
PROJ8 77.94 458.35 4.88 2.66 711.00 2.53 0.10

Table 9 It is found that:


Equations from the curve fitting approach
Tool Equation Correlation coefficient (i) Of the three criteria, this model satisfies only one,
Microsoft Excel 2000 Y = 0.933x1.0197 R2 = 0.4307 (13) viz., the relative root mean square of the error
SPSSv10 (RRMS), which is less than 0.25.
Data fit Y = 3.534x0.543 R2 = 0.3600 (14) (ii) It fails on the other two criteria:
Curve expert
(a) Mean magnitude of relative error is greater
than 0.25.
Therefore, Eq. (13) is the final COCOMO II.2000
(b) The estimated effort is not within 25% of the
equation for the purpose of cost (effort) estimation in
actual estimates for atleast 75% of the time.
the company:
Pred(0.25) is less than 0.75.
Effort ¼ 0:93Size1:0197 ðReproducedÞ: ð13Þ This is to be expected for a company going in for such
This model has been validated using ConteÕs Criteria as a model-based approach for the first time. The project
described already. metrics data that has been presently is not sufficient
Outcome of model validation: for the purpose of effort estimation. Fine-tuning of the
project metrics programme should be carried out so as
(i) MMRE = 0.57, to make the COCOMO effort equation satisfy the Con-
(ii) RRMS = 0.20, teÕs criteria. This equation is recommended to the com-
(iii) Pred(0.25) = 0.38, pany for the purpose of effort estimation. Further
(iv) Pred(0.5) = 0.63. calibration needs to be done using more project data

Table 10
Effort estimation using the curve fitted equation (Eq. (13))
Project name Actual effort PM COCOMO effort MRE Eq. (13) MMRE RMS RRMS Pred(0.25) Pred(0.5)
PROJ1 11.34 12.37 0.09 0.09 1.03 0.09 0.13 0.13
PROJ2 14.73 13.12 0.11 0.10 0.41 0.03 0.30 0.30
PROJ3 6.57 5.11 0.22 0.14 1.18 0.11 0.38 0.38
PROJ4 21.20 31.07 0.47 0.22 3.92 0.29 0.38 0.50
PROJ5 21.19 10.69 0.50 0.28 1.19 0.08 0.38 0.63
PROJ6 21.64 7.55 0.65 0.34 6.84 0.42 0.38 0.63
PROJ7 2.05 5.18 1.53 0.51 5.15 0.36 0.38 0.63
PROJ8 3.54 7.03 0.98 0.57 3.58 0.20 0.38 0.63

Table 11
Effort estimation using the curve fitted equation (Eq. (14))
Project name Actual effort PM COCOMO effort MRE Eq. (14) MMRE RMS RRMS Pred(0.25) Pred(0.5)
PROJ1 11.34 14.01 0.23 0.23 2.67 0.24 0.13 0.13
PROJ2 14.73 14.45 0.02 0.13 1.69 0.13 0.30 0.30
PROJ3 6.57 8.74 0.33 0.19 2.63 0.24 0.38 0.38
PROJ4 21.20 22.88 0.08 0.17 3.12 0.23 0.38 0.50
PROJ5 21.19 12.96 0.39 0.21 0.89 0.06 0.38 0.63
PROJ6 21.64 10.76 0.50 0.26 5.17 0.32 0.38 0.63
PROJ7 2.05 8.64 3.22 0.68 2.30 0.16 0.38 0.63
PROJ8 3.54 10.36 1.92 0.84 0.30 0.03 0.38 0.63
306 R. Dillibabu, K. Krishnaiah / International Journal of Project Management 23 (2005) 297–307

and for various types of projects like porting projects, is recommended that the company may apply the pop-
maintenance projects, etc. ular and well-known model, COCOMO II.2000, for
the purpose of effort estimation. It would be particu-
larly helpful to the company to have a better idea
6. Conclusions and recommendations about the actual effort spent in developing software.
This would, in turn, form the basis for further process
6.1. Conclusions improvement initiatives in the organization. The fol-
lowing initiatives have been recommended to the
The project data from the project database in the company:
company are studied and the COCOMO Model applied
to the past data. It is then calibrated using two 1. Recording of the actual effort spent on the software
approaches: development should be done in a systematic manner,
where, even if a programmer works overtime and/or
 Natural log approach. weekends, it would be duly recorded.
 Curve fitting approach. 2. The use of Code Count tool for the purpose of count-
ing the Logical SLOC is recommended if the organi-
Calibrating with these approaches and analyzing the zation uses COCOMO II.2000 model.
outcome has resulted the following conclusions: 3. The scale factors and effort multipliers that form a
part of the COCOMO Equation should be used as
1. The calibrated COCOMO Equation for which the a benchmark or baseline for process improvement
error is the least is obtained by the curve fitting initiatives.
approach (Eq. (13)). The equation is 4. The present method of arriving at Scale Factors and
Effort Multipliers through the process of question-
Effort ¼ 0:933Size1:0197 : ð14Þ naire should be done away with and the rating scales
This equation has a coefficient of determination (R2) va- for the various scale and cost drivers must be equated
lue of 43%. to the similar metrics that are in use. This will reduce
2. The scale factors, effort multipliers and the multipli- the bias in the evaluation of the various factors by the
cative constants ÔAÕ and ÔBÕ, are estimated using curve project managers. For example, the existing processes
fitting approach, based on the average of the for employee evaluation can be linked to the rating
responses from the Project Managers. These are: scale of Analyst Capability and ProgrammerÕs
X X Capability.
I SFj ¼ 16:27 I EMi ¼ 16:893
IA ¼ 0:056 IB ¼ 0:857:
6.3. Scope for future work
3. The value of the multiplicative constant ÔAÕ arrived at
by Eq. (4) is 0.056, which is very low. This implies 1. This case study is based on a database of 10
that there might be some other factors that have an projects only. Even though these projects represent
impact on the actual software development effort. the nature of the software being developed, the accu-
This aspect requires more study. racy of the multiplicative constant ÔAÕ can be
4. The model has been validated using ConteÕs Criteria increased by considering all the projects in the com-
and observed the following: panyÕs database.
(a) Of the three criteria, this model satisfies only one 2. The factors, which affect the development effort and
criterion, viz., the RRMS for which the error is less cost apart from the factors listed by the COCOMO
than 0.25. model, can be studied and accounted for to arrive
(b) It fails on the other two criteria. at more accurate estimates.
This is to be expected for a company going in for such a
model-based approach for the first time. The project met-
rics data being collected presently is not sufficient for the
purpose of effort estimation. Fine-tuning of the project
References
metrics data should be carried out so as to make the CO-
COMO effort equation satisfy the ConteÕs Criteria. [1] Albrecht AJ, Gaffney JE. Software function, source lines of codes,
and development effort prediction: a software science validation.
IEEE Trans Software Eng 1983;SE-9:639–48.
6.2. Recommendations
[2] Bernheisel Wayne A. Calibration and validation of the
COCOMO II cost/schedule estimating model to the space and
The company is presently not using any model- missile systems centre database. Master thesis, Ohio, Air Force
based approach for arriving at an effort estimate. It Institute of Technology; 1997.
R. Dillibabu, K. Krishnaiah / International Journal of Project Management 23 (2005) 297–307 307

[3] Boehm BW, Abts C, Clark B, Devnani-Chulani S. COCOMO II [12] Parkinson GN. ParkinsonÕs law and other studies in administra-
model definition manual, The University of Southern California; tion. Boston: Haughton-Miffin; 1957.
1997. [13] Park R. The Central Equations of the PRICE software cost
[4] Boehm BW et al.. Software cost estimation using COCOMO II. model. 4th COCOMO UsersÕ Group Meeting, November;
1st ed. Englewood Cliffs, NJ: Prentice-Hall; 2000. 1988.
[5] Conte SD, Dunsmore HE, Shen VY. Software engineering metrics [14] Parr NA. An alternative to the raleigh curve model for software
and models. California: Benjamin Cummings; 1986. development effort. IEEE Software Eng 1980(May).
[6] Danfeng Hong. Software cost estimation. Department of Com- [15] Peeters David, Dewey Gerorge. Reducing bias in software project
puter Science, University of Calgary. Available from: http:// estimates. Crosstalk – J Defense Software Eng 2000.
pages.cpsc.ucalgary.ca/~hangd/SENG/621/report.html. [16] Putnam LH. A general empirical solution to the macro software
[7] David Longstreet. Function Point Analysis Training Course; sizing and solution to the macro software sizing and estimating
2002. Available from: http://www.softwaremetrics.com/fpafund. problem. IEEE Trans Software Eng 1978;4(4):345–61.
htm. [17] Putnam LH, Ann Fitzsimmons. Estimating software cost, Dat-
[8] Fenton NE, Pfleeger SL. Software metrics: a rigorous and amation; 1979.
practical approach. PWS Publishing Company; 1997. [18] Ramesh Gopalaswamy. Managing global software projects. 1st
[9] Hughes RT. Expert judgement as an estimating method. Inform ed. New Delhi: Tata McGraw Hill; 2001. p. 226-7.
Software Technol 1996;38(2):67–75. [19] Royce W. Software project mangement: a unified frame-
[10] IFPUG Counting Practices Committee, Function Point Counting work. Reading, MA: Addison Wesley; 1998.
Practices Manual. Release 4.1; 1999. Available from: http:// [20] Terdiman R, Datar R, Chohan S. Emerging offshore trends: a
www.carfield.com.hk/document/software.engine/fpa.pdt. view from India. Markets – Gartner Report M-15-1087; 2001.
[11] Norden Peter V. Curve fitting for a model of applied research and [21] Available from: http://sunset.usc.edu/reserch/CODECOUNT/
development scheduling. IBM J Res Develop 1958;2(3). instructions.html.

Potrebbero piacerti anche