Table Of ContentSECURITYCLASSIFICATIONOFTHISPAGE
REPORT DOCUMENTATION PAGE
1a.REPORTSECURITYCLASSIFICATION 1b RESTRICTIVE MARKINGS
UNCLASSIFIED
2a.SECURITYCLASSIFICATIONAUTHORITY 3 DISTRIBUTION/AVAILABILITYOF REPORT
Approvedfor publicrelease;distributionisunlimited.
2b.DECLASSIFICATION/DOWNGRADINGSCHEDULE
4.PERFORMINGORGANIZATIONREPORTNUMBER(S) 5 MONITORINGORGANIZATIONREPORTNUMBER(S)
6a.NAMEOFPERFORMINGORGANIZATION 6b OFFICESYMBOL 7a NAMEOFMONITORINGORGANIZATION
NavalPostgraduateSchool (Ifapplicable) NavalPostgraduateSchool
36
6c.ADDRESS(Crty,State,andZIPCode) 7b ADDRESS(City,State,andZIPCode)
Monterey,CA 93943-5000 Monterey,CA 93943-5000
8a.NAMEOFFUNDING/SPONSORING 8b OFFICESYMBOL 9 PROCUREMENTINSTRUMENTIDENTIFICATION NUMBER
ORGANIZATION (ifapplicable)
8c ADDRESS(Crty,State,andZIPCode) 10 SOURCEOFFUNDINGNUMBERS
ProgramElementNo ProjectNo WorkUnitAccession
Number
11.TITLE(IncludeSecurityClassification)
COSTESTIMATIONOFSOFTWAREDEVELOPMENTANDTHEIMPLICATIONSFORTHEPROGRAMMANAGER
12.PERSONALAUTHOR(S) Doyle.GlennC.
13a TYPEOFREPORT 13b.TIMECOVERED 14 DATEOFREPORT(year,month,day) 15.PAGECOUNT
Master'sThesis From To June1992 148
16.SUPPLEMENTARYNOTATION
TheviewsexpressedinthisthesisarethoseoftheauthoranddonotreflecttheofficialpolicyorpositionoftheDepartmentofDefenseortheU.S.
Government.
17 COSATICODES 18.SUBJECTTERMS(continueonreverseifnecessaryandidentifybyblocknumber)
FIELD GROUP SUBGROUP
19.ABSTRACT(continueonreverseifnecessaryandidentifybyblocknumber)
CostestimationofcomputersoftwaredevelopmentisacriticalproblemfortheDepartmentofDefense. Theaquisitionofmajorweaponsor
hardwarehasbeenimpactedbycostoverunsandscheduleslippageinsoftwaredevelopment. ProgramManagersareresponsibleforestimating a
program'scostusingtheinformationprovidedbythecontractorandthecostanalysisdivisionswithintheSystemCommands. Thisstudyfirst
analyzeswhyvarianceexistsbetweenthedifferentestimatesforthesamesoftwareprojectthatareprovidedtotheProgramManagerasinputto
thebudgetestimate. Thestudythenexaminesfourmethodsthatareusedtounderstandandreducethevariancebetweentheestimatestogive
theProgramManagermorecontroloverthesoftwaredevelopmentcostestimationprocess. Asetoffivespecificdecisionrulesisdevelopedforthe
ProgramManagertoimplementinthecostestimationprocess. Theintentofthestudyistoimprovetheaccuracyofthecostestimatebyreducing
thevariancebetweentheindependentlygenerated estimatessubmittedtotheProgramManager.
20.DISTRIBUTION/AVAILABILITYOFABSTRACT 21 ABSTRACTSECURITYCLASSIFICATION
El UNCLASSIFIED/UNLIMITED F1 SAMEASREPORT IH DTKUSERS Unclassified
22a NAMEOFRESPONSIBLEINDIVIDUAL 22b TELEPHONE(IncludeAreacode) 22c OFFICESYMBOL
JosephSanMiguel (408)6462187 AS/Sm
DD FORM 1473,84MAR 83APReditionmaybeuseduntilexhausted SECURITYCLASSIFICATIONOFTHIS PAGE
Allothereditionsareobsolete
T260108
Approved for public release; distribution is unlimited.
CostEstimation ofSoftware Development
and the Implications for the Program Manager
by
Glenn Cameron Doyle
Lieutenant, United States Navy
B.S., The Pennsylvania State University, 1984
Submitted in partial fulfillment
ofthe requirements for the degree of
MASTER OF SCIENCE IN MANAGEMENT
from the
NAVALPOSTGRADUATE SCHOOL
June, 1992
.
ABSTRACT
Cost estimation of computer software development is a critical
problem for the Department of Defense. The acquisition of major
weapons or hardware has been impacted cost overruns and schedule
slippage in software development. Program Managers are responsible
for estimating a program' s using the information provided by the
contractor and the cost analysis divisions within the System
Commands This study first analyzes why variance exists between
.
the different estimates for the same software project that are
provided to the Program Manager as input to the budget estimate.
The study then examines four methods that are used to understand
and reduce the variance between the estimates to give the Program
Manager more control over the software development cost estimation
process. A set of five specific decision rules is developed for
the Program Manager to implement in the cost estimation process
The intent of the study is to improve the accuracy of the cost
estimate by reducing variance between the independently generated
estimate submitted to the Program Manager.
in
. ..
TABLE OF CONTENTS
INTRODUCTION
I 1
A. OBJECTIVES 1
B. SCOPE 7
C. METHODOLOGY 8
D. RESEARCH OVERVIEW 10
II. BACKGROUND OF SOFTWARE DEVELOPMENT COST ESTIMATION 12
A. SOFTWARE DEVELOPMENT PROCESS 12
1 Lifecycle Resource Requirements 13
...
2. Department of Defense Standard 2167A 21
B. SOFTWARE COST ESTIMATION TECHNIQUES 26
1 Parametric Estimation 27
2. Analogy Estimation 28
3. Top-Down Estimation 29
4. Bottom-Up Estimation 29
5. Expert Judgment 30
6. Price-to-Win 31
C. SOFTWARE SIZING 32
1. Language Considerations 33
2. Line of Code Definition 33
3. Sizing Techniques 34
a. Analogy 35
IV
.
b. Structural Decomposition 35
c. Parametric 35
d. Expert Judgment 36
e. Function Points 36
D. SUMMARY 38
III. COST ESTIMATION MODELS 41
A. GENERAL 41
B. AUTOMATED MODELS 46
1. Software Lifecycle Model 46
2. Price-S 48
3. Jensen 51
4. Software Productivity, Quality, and
Reliability Estimator 52
5. Constructive Cost Model 54
6. Software Architecture, Sizing, and Estimating
Tool 59
C. SUMMARY 62
IV. WHY VARIANCE EXISTS BETWEEN INDEPENDENTLY DEVELOPED
COST ESTIMATES 64
A. METHODS USED TO DEVELOP THE ESTIMATE 67
1 Automated Cost Model Biases 68
2. Incomplete Lifecycle Coverage by Automated
Models 70
..
B. INCONSISTENT ASSUMPTIONS BETWEEN INDEPENDENT
ESTIMATORS ON THE PROJECT INPUT PARAMETERS 72
. .
1. Size Estimate of the Project 73
2. Software System Characteristics 76
3. Software Development Complexities 78
4. Database Selection 81
C. SUMMARY 84
VARIANCE REDUCTION BETWEEN INDEPENDENT COST
ESTIMATES 87
A. COMBINING ESTIMATES GENERATED FROM DIFFERENT
SOURCES 87
B. REDUCING INCONSISTENCIES BETWEEN INPUT PARAMETERS
OF INDEPENDENT COST ESTIMATION ORGANIZATIONS 103
.
1. What Cost Estimation Methodology was used? 104
2. How is a Line of Code defined? 104
3 What are the Software System
.
Characteristics? 105
4 What are the assumptions made regarding
software project complexity? 106
5 Has the contractor already included into the
....
estimate a factor for cost growth? 106
C. ORGANIZATIONS TO ASSIST THE PROGRAM MANAGER 107
. .
1. System Command Organizations 107
2. Naval Center for Cost Analysis 109
VI