Professional Documents
Culture Documents
Lecture1519 - 15813 - Effort Estimation
Lecture1519 - 15813 - Effort Estimation
1
What makes a successful project?
Delivering: Stages:
agreed functionality
1. set targets
on time
2. Attempt to achieve targets
at the agreed cost
with the required quality
2
Difficulties with Estimation
Novel applications of Software
Changing Technologies
Lack of project experience
Changing requirement
3
Over and under-estimating
• Parkinson’s Law: ‘Work • Brook’s Law: putting
expands to fill the time available’ more people on late job
which implies make it later
If given easy target staff will
work less hard.
• An over-estimate is likely to
cause project to take longer
than it would otherwise
4
Basis for s/w estimation
Need historical data
Measure of work
Complexity: writing skills of program
5
Bottom-up estimating
6
Top-down estimates
Estimate100 days
Produce overall estimate using
overall
project effort driver (s)
Distribute proportions of overall
design code test estimate to components
30% 30% 40%
i.e. i.e. i.e. 40 days
30 days 30 days
7
Bottom-up versus top-down
Bottom-up
– use when no past project data
– identify all tasks that have to be done – so quite time-consuming
– use when you have no data about similar past projects
Top-down
– produce overall estimate based on project cost drivers
– based on past project data
– divide overall estimate between jobs to be done
8
Function Point
Function Count
Alan Albrecht while working for IBM, recognized the
problem in size measurement in the 1970s, and developed
a technique (which he called Function Point Analysis),
which appeared to be a solution to the size measurement
problem.
9
2.Function Count(Cont.)
The principle of Albrecht’s function point analysis (FPA) is that a
system is decomposed into functional units.
10
2.Function Count(Cont.)
The FPA functional units are shown in figure given below:
User
Inquiries
Other
User Inputs applications
ILF
EIF
Outputs System
ILF: Internal logical files
EIF: External interfaces
13
Software Project Planning
Weighting factors
Functional Units
Low Average High
External Inputs (EI) 3 4 6
External Output (EO) 4 5 7
External Inquiries (EQ) 3 4 6
Internal logical files (ILF) 7 10 15
External Interface files (EIF) 5 7 10
External Low x 3 =
Inputs Average x 4 =
(EIs)
High x 6 =
External Low x 4 =
Outputs Average x 5 =
(EOs) High x 7 =
External Low x 3 =
Average x 4 =
Inquiries
(EQs) High x 6 =
External Low x 7 =
logical Average x 10 =
Files (ILFs) =
High x 15
External Low x 5 =
Interface Average x 7 =
Files (EIFs) High x 10 =
17
Software Project Planning
Functions points may compute the following important metrics:
Productivity = FP / persons-months
Quality = Defects / FP
Cost = Rupees / FP
Documentation = Pages of documentation per FP
These metrics are controversial and are not universally acceptable. There are
standards issued by the International Functions Point User Group (IFPUG,
covering the Albrecht method) and the United Kingdom Function Point User
Group (UFPGU, covering the MK11 method). An ISO standard for function
point method is also being developed. 18
Software Project Planning
Example: 4.1
Function Point
5 3
UFP Z ij wij
i 1 J 1
UFP = 50 x 4 + 40 x 5 + 35 x 4 + 6 x 10 + 4 x 7
= 200 + 200 + 140 + 60 + 28 = 628
CAF = (0.65 + 0.01 ΣFi)
= (0.65 + 0.01 (14 x 3)) = 0.65 + 0.42 = 1.07
FP = UFP x CAF
= 628 x 1.07 = 672
Function points Mark II
• Developed by Charles R. Symons
• ‘Software sizing and estimating - Mk II FPA’, Wiley &
Sons, 1991.
• Work originally for CCTA:
• has developed in parallel to IFPUG FPs
21
Function points Mk II continued
#entities accessed
For each transaction, count::
22
• Productivity = size/effort
23
COCOMO
Organic mode
Embedded mode
Semidetached mode
Organic projects - "small" teams with "good" experience working with "less than rigid"
requirements
Semi-detached projects - "medium" teams with mixed experience working with a mix of rigid
and less than rigid requirements
25
The COCOMO constants
System type c k
Organic (broadly, information systems) 2.4 1.05
26
Development effort multipliers (dem)
According to COCOMO, the major productivity drivers include:
27
Software Project Planning
Multipliers of different cost drivers
Cost Drivers RATINGS
Very low Low Nominal High Very Extra high
high
Product Attributes
RELY 0.75 0.88 1.00 1.15 1.40 --
Computer Attributes
28
Software Project Planning
Cost Drivers RATINGS
Very low Low Nominal High Very Extra
high high
Personnel Attributes
Project Attributes
31
COCOMOII
Stage No Model Name Application for the types Applications
of projects
Application In addition to application
Stage I
Application composition composition type of projects, this
composition estimation model is also used for prototyping
model (if any) stage of application
generators, infrastructure & system
integration.
Stage II Early design estimation model Application generators, Used in early design stage of a
infrastructure & system project, when less is known about
integration the project.