I. Pre-Requirements (Product Concept) Time
1. Create at least one estimate using each of the following approaches:
a. Number of Subsystems computation
i. Estimate the number of subsystems.
ii. Calibrate estimation software using historical data from within our organization.
iii. Estimate the nominal effort and schedule using a commercial estimation software package.
b. Gut Instinct comparison with previous projects
i. Estimate the technical scope of the new system as a percentage of the scope of a previous system
("Relative Size")
ii. Compute nominal schedule and effort for the new system by multiplying the schedule and effort of the previous
system by the Relative Size of the new system.
c. User Interface Components comparison with previous projects
i. Estimate the number of dialog boxes (B) of the new system as a percentage of a previous system.
ii. Estimate the number of graphs and reports (R) of the new system as a percentage of a previous system.
iii. Estimate the number of tables in the system’s database (T) compared as a percentage of a previous system.
iv. Compute a multiplier (M) as follows: M = 0.35 * B + 0.35 * R + 0.30 * T
v. Compute nominal schedule and effort for the new system by multiplying the schedule and effort of the previous
system by the multiplier (M) of the new system.
2. Compute nominal effort and schedule estimates (N) for the new system as average of the estimates a, b, and c.
3. Compute estimate ranges as from 0.6 N to 1.75 N.
4. Estimates must always be presented as ranges. The single-point nominal estimate developed for use in these calculations
should not be presented.
II. Pre-Architecture (Post Requirements) Time
1. Update each of the estimates I-1a, I-1b, and I-1c. Create an average estimate "I-average."
2. Create a Function Points Estimate
a. Compute function points based on requirements specification
b. Calibrate estimation software using historical data from within our organization.
c. Estimate the nominal effort and schedule using a commercial estimation software package.
3. Compute nominal effort and schedule estimates (N) for the new system as average of 2c and I-average.
4. Compute estimate ranges as from 0.7 N to 1.4 N.
5. As in Step I, estimates must always be presented as ranges.
III. Construction (Post Detailed Design) Time
1. Build a bottom-up developer based estimate
a. Have each developer estimate the effort required to design, code, and unit test the modules he or she will be
responsible for.
b. Add up the individual module estimates.
c. Multiply the sum by 1.3 to account for forgotten tasks and developer optimism.
2. Compare 1c to II-3. Compute a nominal estimate as 2/3 the higher estimate + 1/3 the lower estimate.
3. Compute estimate ranges as from 0.8 N to 1.25 N.
4. As in Step I, estimates must always be presented as ranges.
5. If cost/schedule tradeoffs are desired, they may be computed as follows:
a. Shorter schedule: the schedule may be shortened 20% in exchange for 50% more total effort.
b. Reduced cost: total effort may be reduced 50% in exchange for a 25% longer schedule.