Adapted from Manager’s Handbook for Software Development, Revision 1. Document number SEL-84-101.
Greenbelt, Maryland: Goddard Space Flight Center, NASA, 1990.
Project Phase |
Input Data for Estimate |
Size Estimate |
Effort Estimate |
Schedule Estimate |
Uncertainty Range 1 |
|
End of Requirements Analysis |
Number of Subsystems |
11,000 lines of code2 per subsystem |
3000 hours per subsystem |
Multiply number of subsystems by 83 weeks and divide by number of staff members |
+75%
-43% |
End of Preliminary Design |
Number of functions and/or routines (units) |
190 lines of code per unit |
52 hours per unit |
Multiply number of units by 1.45 weeks and divide by number of staff members |
+40%
-29% |
End of Detailed Design |
Number of slightly modified (N) or reused verbatim (R) units |
Lines of code = 200 * (N + 0.2R) |
0.31 hours per line of code |
Multiply lines of code by 0.0087 weeks and divide by number of staff members |
+25%
-20% |
End of Implementation |
Current size in lines of code
Effort expended to date
Schedule expended to date |
Add 26% to current size (for growth during testing) |
Add 43% to effort already expended (to compute effort to complete) |
Add 54% to schedule already expended |
+10%
-9% |
End of System Testing |
Effort expended to date |
Final product size has been reached |
Add 11% to effort already expended (to compute effort to complete) |
Add 18% to schedule already expended |
+5%
-5% |
1To allow for staff turnover, growth in requirements, and so on, conservative management practice calls for using estimates
that lie between the predicted value and the upper bound.
2 "Line of code" includes all source statements, including comments and blank lines