Professional Documents
Culture Documents
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
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
Each rated on scales equivalent
2) distributed functions
to the following:
3) performance
4) heavily used configuration
Not present =0
5) transaction rate
Incidental Influence =1
6) on-line data entry
Moderate Influence =2
7) end user efficiency
Average Influence =3
8) on-line update
Significant Influence =4
9) complex processing
Strong Influence =5
10) reusability
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
COUNTING STEPS:
- Count number of ILFs and EIFs
- Assign them a complexity weighting
Counting ILFs and EIFs
Three ILFs:
- Employee
- Job
- Job Assignment
- not Job Description (logically part of Job)
- not Location (an EIF)
- not Salaried Employee (a Record Element Type)
- not Hourly Employee (a Record Element Type)
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 Low
Low 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
File Types
File Types
Referenced DataTypes (DETs)
Data Element
Referenced
(FTRs) Element
(FTRs) Types
1-4 5-15 +15
(DETs)
<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
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)