1.    Introduction

1.1             Overview

This manual presents two models, the Post-Architecture and Early Design models.  These two models are used in the development of Application Generator, System Integration, or Infrastructure developments [Boehm et al. 2000].  The Post-Architecture is a detailed model that is used once the project is ready to develop and sustain a fielded system.  The system should have a life-cycle architecture package, which provides detailed information on cost driver inputs, and enables more accurate cost estimates.  The Early Design model is a high-level model that is used to explore of architectural alternatives or incremental development strategies.  This level of detail is consistent with the general level of information available and the general level of estimation accuracy needed.

The Post-Architecture and Early Design models use the same approach for product sizing (including reuse) and for scale drivers.  These will be presented first. Then, the Post-Architecture model will be explained followed by the Early Design model.

1.2             Nominal-Schedule Estimation Equations

Both the Post-Architecture and Early Design models use the same functional form to estimate the amount of effort and calendar time it will take to develop a software project.  These nominal-schedule (NS) formulas exclude the cost driver for Required Development Schedule, SCED.  The full formula is given in Section 3.  The amount of effort in person-months, PMNS, is estimated by the formula:

                                                                                                 Eq. 1

The amount of calendar time, TDEVNS, it will take to develop the product is estimated by the formula:

                                                                                             Eq. 2

The value of n is 16 for the Post-Architecture model effort multipliers, EMi, and 6 for the Early Design model.  The values of A, B, EM1, …, EM16, SF1, …, and SF5 for the COCOMO II.2000 Post-Architecture model are obtained by calibration to the actual parameters and effort values for the 161 projects currently in the COCOMO II database.  The values of C and D for the COCOMO II.2000 schedule equation are obtained by calibration to the actual schedule values for the 161 project currently in the COCOMO II database.

The values of A, B, C, D, SF1, …, and SF5 for the Early Design model are the same as those for the Post-Architecture model.  The values of EM1, …, and EM6 for the Early Design model are obtained by combining the values of their 16 Post-Architecture counterparts; the specific combinations are given in Section 3.2.2.

The subscript NS applied to PM and TDEV indicates that these are the nominal-schedule estimates of effort and calendar time.  The effects of schedule compression or stretch-out are covered by an additional cost driver, Required Development Schedule.  They are also included in the COCOMO II.2000 calibration to the 161 projects.  Its specific effects are given in Section 4.

The specific milestones used as the end points in measuring development effort and calendar time are defined in Section 6, as are the other definitions and assumptions involved in defining development effort and calendar time.  Size is expressed as thousands of source lines of code (SLOC) or as unadjusted function points (UFP), as discussed in Section 2.  Development labor cost is obtained by multiplying effort in PM by the average labor cost per PM.  The values of A, B, C, and D in the COCOMO II.2000 calibration are:

A = 2.94

B = 0.91

C = 3.67

D = 0.28

Details of the calibration are presented in Section 7, which also provides formulas for calibrating either A and C or A, B, C, and D to one’s own database of projects.  It is recommended that at least A and C be calibrated to the local development environment to increase the model’s accuracy.

As an example, let's estimate how much effort and calendar time it would take to develop an average 100 KSLOC sized project.  For an average project, the effort multipliers are all equal to 1.0. E will be set to 1.15 reflecting an average, large project.  The estimated effort is PMNS =  2.94(100)1.15 = 586.61.

Continuing the example, TDEVNS = 3.67(586.6)(0.28+0.2´(1.15-0.91)) = 3.67(586.6)0.328 = 29.7 months.  The average number of staff required for the nominal-schedule development is PMNS / TDEVNS = 586.6 / 29.7 = 19.75 or 20 people.  In this example, an average 100 KSLOC software project will take about 30 months to complete with an average of 20 people.