Professional Documents
Culture Documents
Effort Estimation
Effort Estimation
Effort Estimation
Estimating
The process of forecasting or approximating the
time and cost of completing project deliverables.
The task of balancing the expectations of
stakeholders and the need for control while the
project is implemented
Types of Estimates
Top-down (macro) estimates: analogy, group
consensus, or mathematical relationships
Bottom-up (micro) estimates: estimates of
elements of the work breakdown structure
Which view is correct?
Rough order of magnitude is good enough. Spending
time on detailed estimating wastes money
Time is everything; our survival depends on getting
there first! Time and cost accuracy is not an issue.
The project is internal. We don’t need to worry about
cost.
The uncertainty is so great, spending time and money
on estimates is a waste.
The project is so small, we don’t need to bother with
estimates. Just do it.
They used an internal estimate “for strategic decisions”
and then we had to live with it.
We were burned once. I want a detailed estimate of
every task by the people responsible.
Macro versus Micro Estimating
Conditions for Preferring Top-Down or Bottom-up
Time and Cost Estimates
Macro (Top-down)
Approaches
Project Estimate
Consensus methods Times
Costs
Ratio methods
Apportion method
Function point methods for
software and system projects
Learning curves
Apportion Method of Allocating Project
Costs Using the Work Breakdown Structure
Methods for Estimating Project
Times and Costs (cont’d)
Micro (Bottom-up)
Approaches
Template method
Parametric Procedures
Applied to Specific Tasks
Detailed Estimates for the
WBS Work Packages
Phase Estimating: A Hybrid
Duration vs. Effort vs. Productive Time
Duration is the elapsed time in business
working days
Work effort is the labor required to complete
an activity. Work effort is typically the amount
of focused and uninterrupted labor time
required to complete an activity.
Productive time considers the percentage of
the work day that can be devoted to project
activity work. Estimates in IT range from 66-
75%, recent estimates of about 50-65%
(same client base). This doesn’t include
unexpected interruptions!
Elapsed time vs. work time
Software Cost Estimation
•What is the Problem?
•Economic
•Technical
•Managerial
•Infrequency
•Uniqueness
•Underestimation bias
algorithmic
expert judgement
similar, completed projects
equate to available resources
Price-to-win
Top-down (global estimate)
Bottom-up (each component separately estimated)
Algorithmic Models
Why used?
early systems emphasis on coding
Criticisms
cross-language inconsistencies
Interface
Files
Queries
Function Points
History
Non-code oriented size measure
Developed by IBM (A. Albrecht) in 1979, 1983
Now in use by more than 500 organizations
world-wide
EXTERNAL USER
Internal
Logical File
External
Interface File
input type
output type
inquiry type
1) data communications
2) distributed functions Each rated on scales equivalent
3) performance to the following:
4) heavily used configuration
5) transaction rate Not present =0
6) on-line data entry Incidental Influence =1
7) end user efficiency Moderate Influence =2
8) on-line update Average Influence =3
9) complex processing Significant Influence =4
10) reusability Strong Influence =5
11) installation ease
12) operational ease
13) multiple sites
14) facilitates change
Function Point Calculation
5 3
Function Counts = FC x i w j
i 1 j 1
14
Function Points = FP FC.65 .01 ck
k 1
where
xi = function i
wj = weight j
ck = complexity factor k
Need to track employees and their work
- Add, change, delete, queries, and reports
- Two types of employees, salaried and hourly
In Practice:
Look for “read only” usage
- Address
- Employee SSN (foreign key)
COUNTING STEPS:
- Count number of ILFs and EIFs
One EIF:
- Location
Counting ILFs/EIFs - Complexity
Record
Element
RecordTypes Data Element
Data Types (DETs)
Element Element
Types(RETs) Types
(RETs) 1-19 (DETs)
20-50 51+
<2 1-19 Low 20-50 Low 51+
Average
<2 Low Low Average
2-5 2-5 LowLow Average
Average High
High
>5 >5 Average
Average High
High High
High
Three ILFs:
•Employee - 8 DETs and 2 RETs
•Job - 4 DETs and 1 RET
•Job Assignment - 5 DETs and 1 RET
One EIF: Location - 3 DETs and 1 RET
ILF and EIF Unadjusted FPs
In Practice:
Not necessarily equal to screens
Don’t confuse with inquiries (no change to
data)
Counting EIs - Raw Data
Employee Maintenance
Add, change, delete Employee
Employee Inquiry; Employee Report
Job Maintenance
Add, change, delete Job
Job Inquiry; Job Report
Job Assignment Maintenance
Assign Employee to Job
Job Assignment Inquiry; Job Assignment Report
Transfer Employee
Evaluate Employee
Delete Assignment
Location Reporting
Location Inquiry; Location Report
Counting EIs - Complexity
File Types
File Types
Referenced DataTypes (DETs)
Data Element
Referenced
(FTRs) Element
(FTRs) Types
1-4 5-15
(DETs) +15
<2 1-4Low Low
5-15 Average
15+
<2 2 LowLow Average
Low High
Average
2 >2 Average Average
Low High High
High
>2 Average High High
Example EIs (3 of 10):
• Create Employee- 10 DETs, 2FTRs (Employee
and Location) => Average
• Delete Employee- 3 DETs and 1 FTR=> Low
• Assign Employee to Job - 6 DETs and 3 FTRs
(Employee, Job and Job Assignment)=> High
External Input (EI) Unadjusted FPs
In Practice:
Processing must be involved (don’t count output
response to an inquiry)
Detail and summary outputs count separately
Counting EOs - Raw Data
Employee Maintenance
Add, change, delete Employee
Employee Inquiry; Employee Report - 6-19 DETs
Job Maintenance
Add, change, delete Job
Job Inquiry; Job Report- 5 DETs
Job Assignment Maintenance
Assign Employee to Job
Job Assignment Inquiry; Job Assignment Report
Transfer Employee
Evaluate Employee
Delete Assignment
Location Reporting
Location Inquiry; Location Report- 6-19DETs
Counting EOs - Complexity
File Types
File Types Data
Referenced
Referenced Element
Delta Element Types (DETs)
File
(FTRs) Types
(FTRs) Types Data
Referenced 1-5 (DETs) Element 20+
6-19
(FTRs)
<2 1-5 Low 6-19
LowTypes Average
20+
<2 2-3 LowLow Low (DETs) High
Average Average
2-3 >3 Low 1-4 5-15 High 15+
AverageAverage
High High
>3 <2 Average Low High Low HighAverage
2 Low Average High
>2 Average High High
Example EOs :
• Employee Report- 6-19 DETs, 2FTRs (Employee
and Location) => Average
• Job Report-5 DETs and 1 FTR=> Low
• Job Assignment Report - 6-19 DETs, 3 FTRs
(Employee, Job and Job Assignment)=> Average
External Output Unadjusted FPs
In Practice:
No processing involved. If result is calculated or derived
field, then it is an input and an output
Help systems typically counted as external inquiry
Rate complexity as the higher of the input/output value
Counting EQs - “Medium Cooked” Data
Employee Maintenance
Employee Inquiry- 2 FTRs and 9 DETs (output)
Job Maintenance
Job Inquiry - 1 FTR and 4 DETs (output)
Job Assignment Maintenance
Job Assignment Inquiry- 1 FTR and 5 DETs
(output)
Location Reporting
Location Inquiry - 2 FTRs and 5 DETs (output)