19 Software Economics 2024
19 Software Economics 2024
Project
Economics
Software Project Economics:
Objectives
• To provide a framework that enables the manager to
make reasonable estimates of resources, cost and
schedule.
Various steps of Planning Activity
Size Estimation
Resources
Requirements
Project
scheduling
What is Estimation Method
• An estimation method is a set of processes, supported by
appropriate empirical formulae and backed with historical
reference data, that help derive predictable results within a
decent level of accuracy.
• There are a number of software project estimation methods
available to project managers that help arrive at estimated size,
effort, schedule, resource loading, and other similar parameters.
• For an estimation method to become easily acceptable by
software developers as well as business and IT groups, What
shall be the key ingredients of the method ?
What is Estimation Method
The key ingredients of the method shall:
– Be a method that can be easily understood and deployable
– Allow modularization of the software application components
– Provide predictable results with an accuracy within reasonable
limits
– Be comparable across a variety of software projects
– Be backed by extensive regression analysis data
– Facilitate conversion/transformation of the output to other project
execution parameters such as schedule, cost, progress, etc.
– Include well-documented instruction manuals, continually
updated by recognized bodies
Application B
Application Boundary
External Inputs 3 4 6
External Output 4 5 7
External Inquiries 3 4 6
Functional Unit
Functional Units Count complexity Complexity totals
Totals
Low x 3 =
External Inputs Average x 4 =
High x 6 =
Low x 4 =
Low x 3 =
Low x 7 =
Internal Logical Average x 10 =
files High x 15 =
Low x 5 =
External Interface Average x 7 =
Files High x 10 =
Procedure for Calculating UFP
5 3
UFP = Z ij wij
I =1 J =1
Where i indicates the row and j indicates the column of Table “Functional Units with
weighing factors
wij : It is the entry of the ith row and jth column of Table “Functional Units with weighing
factors
Z ij : It is the count of the number of functional units of Type i that have been classified as
having the complexity corresponding to column j
Complexity adjustment Factor
UFP = 50*4+40*5+35*4+6*10+4*7
=200+200+140+60+28=628
FP = UFP * CAF
=628 * 1.07 = 672
Exercise
• An application has the following:
• 10 low external inputs, 12 high external outputs, 20
low internal logical files, 15 high external interface
files, 12 average external inquiries and a value of
CAF of 1.10.
• What are the unadjusted and adjusted FP counts?
Answer
5 3
UFP = Z
I =1 J =1
ij wij
Fi = 3+4+3+5+3+3+3+3+3+3+2+3+0+3=41
i=1
Medium size
Typically projects, medium size
Semi
50-300 team, Average Medium Medium Medium
detached KLOC previous experience
on similar projects
Large Project, real Complex
Over 300 time systems, complex Hardware/
Embedded Significant Tight
KLOC interfaces, very little interfaces
previous experience required
Basic Model
• The basic COCOMO equations take the form
E = ab (KLOC ) b
b
D = cb (E ) b
d
Project ab bb cb db
E
Average Staff Size (SS) = Persons
D
= 1133.12 = 38.67 persons
29.3
KLOC 200
Productivity = = = 0.1765 KLOC / PM
E 1133.12
= 176 LOC/PM
• The basic modelIntermediate
allowed for Model
a quick and rough
estimate, but it resulted in a lack of accuracy.
• Boehm introduced an additional set of 15 predictors
called cost drivers in the intermediate model to take
account of the software development.
• Cost drivers are used to adjust the nominal cost of a
project to the actual project environment, increasing
the accuracy of the estimate.
• The cost driversIntermediate
are groupedModel
into four categories
• Product attributes
– Requires software reliability (RELY)
– Database size (DATA)
– Product complexity (CPLX)
• Computer attributes
– Execution time constraint (TIME)
– Main storage constraint (STOR)
– Virtual machine volatility (VIRT)
– Computer turn around time (TURN)
• The cost drivers Intermediate
are grouped into four categories
Model
• Personnel attributes
– Analyst capability (ACAP)
– Application experience (AEXP)
– Programmer capability (PCAP)
– Virtual machine experience (VEXP)
– Programming Language Experience (LEXP)
• Project attributes
– Modern programming practices (MODP)
– Use of software tool (TOOL)
– Required development schedule (SCED)
• Each cost drive is Intermediate
rated for a given project environment.
Model
• The rating uses a scale very low, low, nominal, high, very
high, extra high
Ratings
Cost drivers
Very low Low Nominal High Very High Extra High
Product Attributes
RELY 0.75 0.88 1.00 1.15 1.40
DATA 0.94 1.00 1.08 1.16
CPLX 0.70 0.85 1.00 1.15 1.30 1.65
Computer Attributes
TIME 1.00 1.11 1.30 1.66
STOR 1.00 1.06 1.21 1.56
VIRT 0.87 1.00 1.15 1.30
TURN 0.87 1.00 1.07 1.15
Personnel Attributes
ACAP 1.46 1.19 1.00 0.86 0.71
AEXP 1.29 1.13 1.00 0.91 0.82
PCAP 1.42 1.17 1.00 0.86 0.70
VEXP 1.21 1.10 1.00 0.90
LEXP 1.14 1.07 1.00 0.95
Project attributes
MODP .124 1.10 1.00 0.91 0.82
TOOL 1.24 1.10 1.00 0.91 0.83
SCED 1.23 1.08 1.00 1.04 1.10
Intermediate Model
E = ai (KLOC ) EAF
bi
D = ci (E )
di
Intermediate Model
Project ai bi ci di
Organic 3.2 1.05 2.5 0.38
D = 2.5(52.91) = 11.29 M
0.38
Using the following equations and referring phase wise cost and schedule estimates can
be calculated
E p = p E
Dp = p D
Since size is only 12 KLOC, it is an organic small model. Phase wise effort distribution is
given below:
Effort Distribution
System Design 0.16 * 52.91 = 8.465 PM
Detailed Design 0.26 * 52.91 = 13.756 PM
Module Code and Test 0.42 * 52.91 = 22.222 PM
Integration and Test 0.16 * 52.91 = 8.465 PM
Time Distribution
System Design 0.19 * 11.29 = 2.145 M
Detailed Design 0.24 * 11.29 = 2.709 M
Module Code and Test 0.39 * 11.29 = 4.403 M
Integration and Test 0.18 * 11.29 = 2.032 M