Software Cost Estimation
Software Cost Estimation
Slide 1
Objectives
Slide 2
Topics covered
Software productivity
Estimation techniques
Algorithmic cost modelling
Project duration and staffing
Slide 3
Slide 4
Slide 5
Slide 6
Cost estimate
uncertainty
Contractual terms
Requirements
volatility
Financial health
Slide 7
Software productivity
Slide 8
Productivity measures
Slide 9
Measurement problems
Slide 10
Lines of code
Slide 11
Productivity comparisons
Slide 12
Analysis
Assembly code
High-level language
Assembly code
High-level language
3 weeks
3 weeks
Design
Coding
Testing
5 weeks
5 weeks
8 weeks
4 weeks
10
weeks
6 weeks
Documentation
Size
Effort
Productivity
5000 lines
1500 lines
28 weeks
20 weeks
714 lines/month
300 lines/month
2 weeks
2 weeks
Slide 13
Function points
Slide 14
Function points
Slide 15
Object points
Slide 16
Slide 17
Productivity estimates
Slide 18
Process quality
Project size
Technology
support
Working
environment
Slide 19
Slide 20
Estimation techniques
Slide 21
Changing technologies
Slide 22
Estimation techniques
Slide 23
Estimation techniques
Algorithmic
cost modelling
Expert
judgement
Estimation by
analogy
Parkinsons
Law
Parkinsons Law states that work expands to fill the time available. The
cost is determined by available resources rather than by objective
assessment. If the software has to be delivered in 12 months and 5
people are available, the effort required is estimated to be 60 personmonths.
Pricing to win
Slide 24
Pricing to win
Disadvantages:
Slide 25
Bottom-up
Slide 26
Top-down estimation
Slide 27
Bottom-up estimation
Slide 28
Estimation methods
Slide 29
Pricing to win
Slide 30
Effort = A SizeB M
Slide 31
Estimation accuracy
Slide 32
Estimate uncertainty
Slide 33
Slide 34
COCOMO 81
Project
complexity
Formula
Description
Simple
PM = 2.4 (KDSI)1.05 M
Well-understood applications
developed by small teams.
Moderate
PM = 3.0 (KDSI)1.12 M
Embedded
PM = 3.6 (KDSI)1.20 M
Slide 35
COCOMO 2
Slide 36
COCOMO 2 models
Slide 37
Slide 38
Slide 39
Developers experience
and capability
Very low
Low
Nominal
High
Very high
Very low
Low
Nominal
High
Very high
PROD (NOP/month)
13
25
50
Slide 40
PM = A SizeB M where
Slide 41
Multipliers
Slide 42
Slide 43
PM = (ASLOC * AT/100)/ATPROD
ASLOC is the number of lines of generated
code
AT is the percentage of code automatically
generated.
ATPROD is the productivity of engineers in
integrating this code.
Slide 44
Slide 45
Post-architecture level
Slide 46
Slide 47
Development
flexibility
Architecture/risk
resolution
Reflects the extent of risk analysis carried out. Very low means little
analysis, Extra high means a complete a thorough risk analysis.
Team cohesion
Reflects how well the development team know each other and work
together. Very low means very difficult interactions, Extra high
means an integrated and effective team with no communication
problems.
Process maturity
Slide 48
Multipliers
Product attributes
Computer attributes
Personnel attributes
Project attributes
Slide 49
Reliability
Complexity
Memory constraint
Tool use
Schedule
Adjusted COCOMO estimate
Slide 50
Project planning
Must be reliable;
Must minimise weight (number of chips);
Multipliers on reliability and computer constraints > 1.
Cost components
Target hardware;
Development platform;
Development effort.
Slide 51
Management options
Slide 52
Option
RELY
STOR
TIME
TOOLS
LTEX
A
B
1.39
1.39
1.06
1
1.11
1
0.86
1.12
1
1.22
63
88
C
D
E
F
1.39
1.39
1.39
1.39
1
1.06
1
1
1.11
1.11
1
1
0.86
0.86
0.72
1.12
1
0.84
1.22
0.84
60
51
56
57
Total cost
949393
1313550
Hardware
cost
100000
120000
895653
769008
844425
851180
105000
100000
220000
120000
1000653
897490
1044159
1002706
1049393
1402025
Slide 53
Option choice
Slide 54
TDEV = 3 (PM)(0.33+0.2*(B-1.01))
Slide 55
Staffing requirements
Slide 56
Key points
Slide 57
Key points
Slide 58