back

                        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)