ESTIMATING
PROGRAM DEVELOPMENT TIME
PROGRAM
DEVELOPMENT ESTIMATE
ALGORITHM
PROGRAM
DEVELOPMENT TIME =
PROGRAM
COMPLEXITY
* (
PROGRAMMING
+
PROGRAMMER
)
KNOW-HOW
JOB KNOWLEDGE
where
PROGRAM
COMPLEXITY = INPUT/OUTPUT
CHARACTERISTICS +
MAJOR PROCESSING
FUNCTIONS
Table
1
INPUT/OUTPUT
CHARACTERISTICS
________________________________________________
Weighting
Element
Points
________________________________________________
Each
File or RDBMS Table
1
per record type or view
Paths
1 per index
accessed
Each
Printout
1 per line type
Each
Array/Table (Input)
1 per dimension
Each
Array/Table created
1 + 1 per
dimension
Table
2 MAJOR PROCESSING
FUNCTIONS
_______________________________________________________________
Programming
Weighting Points
Environment
Function
Simplex
Complex
Very Complex
_______________________________________________________________
COBOL
Restructure data
1
3
4
Condition checking
1
4
7
Data retrieval and
presentation
2
5
8
Calculations
1
3
5
Linkage
1
2
3
Table
3
PROGRAMMING
KNOW-HOW
________________________________________________
Overall
Programming
Weighting
Experience
Points
________________________________________________
Senior
Programmer
0,50 to 0,75
Programmer
1,00 to 1,50
Apprentice
2,00 to 3,00
Trainee
3,50 to 4,00
Table 4 PROGRAMMER JOB KNOWLEDGE
_________________________________________________________
Job Knowledge Job Knowledge Required
Available
Much
Some
None
_________________________________________________________
Detailed
knowledge of this job
0,75
0,25
0,00
Good
general knowledge of this
job
1,25
0,50
0,00
with fragmentary
detailed knowledge
Fair
general knowledge of this
job but
1,50
0,75
0,00
little or no
detailed knowledge
No
job knowledge but general
knowledge
1,75
1,00
0,25
of related
subjects
No
job knowledge, no general
knowledge
2,00
1,25
0,25
of related
subjects
Application
of the Basic Formula in
terms of points from
Table 1 to 4:
PROGRAM
DEVELOPMENT TIME (DAYS) =
(Total
Points from Table 1 +
Total Points from Table
2) *
(Total
Points from Table 3 +
Total Points from Table
4)