Cost Estimation
SYST510
Peggy Brouse, Ph.D. SYST510
1
Software Cost Estimating
What are we costing?
Program code, source & executable that
is delivered to the client together with
appropriate documentation, training and
other items that lead to a complete
software system.
Peggy Brouse, Ph.D. SYST510
2
Perspectives for Cost
Estimation
Wholistic
Examination of product as a WHOLE
No Examination Review of Micro-Level
Details
Experientially Based Intuitive, Affective
Heuristic
Use of Rules of Thumb
Peggy Brouse, Ph.D. SYST510
3
Perspectives for Cost
Estimation
Holistic
Determination of Micro-Level Details
Determination of Cost or Value of These
Sum These to Determine Overall Costs or
Value
Peggy Brouse, Ph.D. SYST510
4
Cost Models
Definition:
Management tools that predict life cycle
development costs for software acquisition
across system definition, development, and
deployment phases
Peggy Brouse, Ph.D. SYST510
5
Cost Models
Purpose:
To encompass software system costs and
schedule projections from requirements
analysis phase through product
acceptance and maintenance phases
Peggy Brouse, Ph.D. SYST510
6
Cost Models
Cost Drivers:
Number of delivered source lines of code
(SLOC), function points, tasks
Peggy Brouse, Ph.D. SYST510
7
Conventional Approach
Base an initial cost estimate on amount
of code to be delivered. Estimate may
be modified by complexity factors.
Lines of Code
High Order Language LOC
Source LOC
Delivered SLOC
Peggy Brouse, Ph.D. SYST510
8
Example:
Summary of Deliverable Source
Instructions:
Modules % DSI
New 19 56% 13491
Adapted 15 44% 2005
Total 34 15496
Peggy Brouse, Ph.D. SYST510
9
Difficulties with LOC:
Complex instructions receive same
weight as simple statements
It is not a uniform metric in that
machine-oriented language statements,
higher-order language statements, &
very-high-order language statements
given the same weight.
Peggy Brouse, Ph.D. SYST510
10
Difficulties with LOC:
Programmers may artificially increase
their productivity by writing many simple
lines of code.
May encourage poor-quality code by
encouraging rapid production of sloppy
code
Peggy Brouse, Ph.D. SYST510
11
Model Construction
Identify Theory of How Factors Relate
Establish Structural Framework
Behavioral Observations, Physical
Observations, Hypotheses
Theoretical
Empirical
Peggy Brouse, Ph.D. SYST510
12
Model Construction
Identify Unspecified Factors for Best or
Satisfactory Replication
Use Data and Observations to Adjust
Unspecified Factors
Estimate the Worth of the Model
Based on Forecast or Prediction
Peggy Brouse, Ph.D. SYST510
13
Model Construction
Model Validity
Structural Validity
One to One Correspondence - Model to Actual
System or Process
Parametric Validity
Unspecified Factors Accurately Identified
Close Correspondence to Actual System
Peggy Brouse, Ph.D. SYST510
14
Model Construction
Forecast or Prediction Validity
Projects Future Events, Costs, or Schedules
within Acceptable Error Tolerances
Peggy Brouse, Ph.D. SYST510
15
Model Construction
Use Regression Analysis to Develop a
Model
Determine Candidate Factors and Data
Collection
Describe Dependent Variables as a Function of
Independent Variables
Experience-based Intuition, Existing Theory or
Knowledge
Joint Observation of all Factors: not less than
10 times the number of Factors
Peggy Brouse, Ph.D. SYST510
16
Model Construction
Postulation of Model or Structure
Usually an Equation:
y=a+bx
Choice of Estimation and Selection
Method
Peggy Brouse, Ph.D. SYST510
17
Model Construction
Determine Regression Curve
Obtain Needed Data
Use Subportion in which Algorithms for
Factor Estimation have been Encoded
Peggy Brouse, Ph.D. SYST510
18
Model Construction
Iteration and Sensitivity Analysis
Test to Determine if Model is Accurate
Completeness Criteria
All Important Explanatory Factors Taken
into Account
Do Results Make Sense
Can Assertion Be Validated
Peggy Brouse, Ph.D. SYST510
19
Revised Intermediate
COCOMO (REVIC)
Developed by Maj. Ray Kile, AF
Reservist
Originally based on a database of 281
contracts involving software completed
at RADC
Use 19 factors to compute person
months for a project
Peggy Brouse, Ph.D. SYST510
20
Revised Intermediate
COCOMO (REVIC)
Factors are broken into 4 groups:
Product
Computer
Personnel
Project
Peggy Brouse, Ph.D. SYST510
21
Revised Intermediate
COCOMO (REVIC)
Factors are generally given a rating
from Very Low (VL) to Very High (VH)
Each rating corresponds to a numerical
value
Peggy Brouse, Ph.D. SYST510
22
Revised Intermediate
COCOMO (REVIC)
When all 19 values are multiplied
together, an environmental factor (x) is
created
Person Month Estimate:
Months= a(KDSI) * x
a = depends on developmental mode (organic,
embedded, semidetached)
Peggy Brouse, Ph.D. SYST510
23
Taxonomy of Factors -
Personnel Attributes
PCAP (Programming Team Capability)
NM> medium previous performance, avg.
educational background, avg. team
communication
ACAP (Analyst Team Capability)
NM> medium previous performance, avg.
educational background, avg. team
communication
Peggy Brouse, Ph.D. SYST510
24
Taxonomy of Factors -
AEXP (Project Application Experience)
NM> Design & development team's exp. on
projects of similar complexity of 2 to 5 years
relevant experience
LEXP (Language Experience)
NM> experience with programming language of
12-17 months
Peggy Brouse, Ph.D. SYST510
25
Taxonomy of Factors -
VEXP (Designer's & Programmer's Exp.
w/Target Host Hardware & Software)
NM> No use of HOL, not familiar w/host
machine, BUT has s/w experience
Peggy Brouse, Ph.D. SYST510
26
Taxonomy of Factors -
Computer Attributes
TIME (Execution Time)
NM> CPU utilization between 60 & 70%
STOR (Additional work for software
development due to constraints on memory
in the target computer)
NM> Based on ratio of estimated storage
requirements to memory capacity
Peggy Brouse, Ph.D. SYST510
27
Taxonomy of Factors -
VIRT (Degree of change machine is
projected to undergo during the design &
dev of the project)
NM> 1 change every 3 months expected
Peggy Brouse, Ph.D. SYST510
28
Taxonomy of Factors -
TURN (Computer Turn Around Time)
NM> Avg. time for host or dev. computer to
complete an action Moderate difficulty in recovery
VH> Failure could cause loss of life
DATA (Extra effort required to create a
project that will maintain a sizable
database)
NM> Based on ratio of size of database to # of
DSI
Peggy Brouse, Ph.D. SYST510
30
Taxonomy of Factors -
CPLX (Software Product Complexity)
NM> S/W has data proc. and stnd. math &
statistical routines
Peggy Brouse, Ph.D. SYST510
31
Taxonomy of Factors -
Project Attributes
MODP (Modern Programming Practices as
outline by Barry Boehm: top down reqs.,
structured design, walkthrus, structured
code)
NM> Some use of MODP by exp. analysts (not
programmers)
Peggy Brouse, Ph.D. SYST510
32
Taxonomy of Factors -
TOOL (Use of Software Tools)
NM> Use of Basic Mini Tools: HOL compiler,
macro assembler, library, database aids
Peggy Brouse, Ph.D. SYST510
33
Taxonomy of Factors -
SCED (Effect that Compressing or
Extending the Schedule will have on
person months)
REVIC has the capability to set the actual
schedule in months which will in turn compute
the revised costs.
Peggy Brouse, Ph.D. SYST510
34
Taxonomy of Factors -
Additional Attributes in REVIC
SECU (Classified Security Application)
CL> Project is Classified
RISK (Management Reserve for Risk)
VL> Very low program risk
Peggy Brouse, Ph.D. SYST510
35
Taxonomy of Factors -
RUSE (Required Reusability)
NM> No contractually required reuse of the
software
RVOL (Requirements Volatility)
NM> There will be small noncritical redirections
Peggy Brouse, Ph.D. SYST510
36