(Week 6) Estimation
(Week 6) Estimation
week 6
Software project management II
Estimation techniques
The problem
2
Result:
3
Estimation techniques
4
Estimation techniques
5
Estimate uncertainty
8
Estimation by Analogy (1)
• Step 1: Get detailed size results for a similar previous
project:
• Find the subsystems (DB, UI, Graphs/reports, Foundation
classes, Business rules,…etc.).
• Find the number of elements such as tables in DB, web
pages for each subsystem.
• Scope out the new system.
9
Example: AccSellerator is a past
project, Triad is a new similar project
10
Estimation by Analogy (2)
Step 2: Compare the size of the new Project to a similar
past project.
11
Example: Step 2
12
Estimation by Analogy (3)
Step 3: Build up estimate for the size of the new project.:
13
Example: Step 3
14
Estimation by Analogy (4)
Step 4: Create an effort estimate based on the size of
the new Project.
Size Ratio =
Size(New Project)/Size (Old Project)
Estimated Effort (New Project) =
Effort (Old Project) * Size Ratio
If uncertain in a case of a subsystem:
produce an effort range, for instance, factor of 0.75 to 2.25 for
50% uncertainty.
15
Example: Step 4
Term Value
Size of Triad 1.0 62,900 LOC
Size of AccSellerator 1.0 ÷ 43,500 LOC
Size ratio = 1.45
Effort for AccSellerator 1.0 30 staff months
Estimated effort for Triad 1.0 30 x 1.45 = 44 staff months
16
Some Popular Experience-based
estimation approaches
18
“It is better to be roughly right than
precisely wrong”
19
Team Effort Estimate for a Project (Delphi)
20
Experience-based approaches
22
Algorithmic cost modelling
23
Estimate number of lines of code in a
system
Compare the system to be developed with similar
systems and use their code size as the basis for your
estimate
Estimate the number of function or application points in
the system and formulaically convert these to lines of
code in the programming language used
Rank the system components using judgment of their
relative sizes and use a known reference component to
translate this ranking to code sizes
24
Estimation accuracy
25
Effectiveness of algorithmic models
26
Question
27
COCOMO cost modeling
28
COCOMO cost modeling
29
COCOMO 2 models
COCOMO 2 incorporates a range of sub-models
that produce increasingly detailed software
estimates.
The sub-models in COCOMO 2 are:
Application composition model. Used when software
is composed from existing parts.
Early design model. Used when requirements are
available but design has not yet started.
Reuse model. Used to compute the effort of
integrating reusable components.
Post-architecture model. Used once the system
architecture has been designed and more information
about the system is available.
30
CoCoMo 2
32
Early-design stage example
34
Scale factor values
• Precedentedness (PREC)
The degree to which there are similar cases in the past, for the
project that is being planned.
Driver Very low Low Nominal High Very High Extra high
PREC 6.2 4.96 3.72 2.48 1.24 0
FLEX 5.07 4.05 3.04 2.03 1.01 0
RESL 7.07 5.65 4.24 2.83 1.41 0
TEAM 5.48 4.38 3.29 2.19 1.10 0
PMAT 7.80 6.24 4.68 3.12 1.56 0
35
Example
36
Exercise 1
37
Solution
sf= 0.91+0.01(3.72+2.03+7.07+1.10+6.24)
sf= 1.112
EFFORT = 2.94 21.112
EFFORT = 6.35 p-m
38
Effort multipliers (em)
39
Early design effort multipliers
Code Effort modifier Extra Very Low Nominal High Very Extra
low low high high
RCPX Product 0.49 0.60 0.83 1 1.33 1.91 2.72
reliability and
complexity
RUSE Required 0.95 1 1.07 1.15 1.24
reusability
PDIF Platform 0.87 1 1.29 1.81 2.61
difficulty
PERS Personnel 2.12 1.62 1.26 1 0.83 0.63 0.5
capability
PREX Personnel 1.59 1.33 1.12 1 0.87 0.74 0.62
experience
FCIL Facilities 1.43 1.30 1.10 1 0.87 0.73 0.62
available
SCED Schedule 1.43 1.14 1 1 1
pressure
40
Example
41
Exercise 2
42
Solution
43
Key points
44
References
45