Allocating calendar time to different activities and phases on a project tends again to be more a planning-related judgment than an estimate. Table 21-8 lists approximate schedule breakdowns for the core technical activities at different project sizes. It would be convenient if the numbers in the table weren't expressed as ranges. The schedule for these activities tends to be influenced by when specific people become available, how fragmented their effort is between the project you're estimating and their other responsibilities, and other factors. The schedule breakdown is thus subject to more variability than the effort breakdown is.
Activity | |||
---|---|---|---|
Size | Architecture | Construction | System Test |
1 KLOC | 15–25% | 50–65% | 15–20% |
25 KLOC | 15–30% | 50–60% | 20–25% |
125 KLOC | 20–35% | 45–55% | 20–30% |
500 KLOC | 20–40% | 40–55% | 20–35% |
Sources: Boehm 1981; Putnam and Myers 1992; Boehm et al, 2000; Putnam and Myers 2003; Stutzke 2005. |
As with effort, the schedule for requirements is typically estimated as an add-on to the base schedule estimate. Table 21-9 lists the amount to add to the base schedule for requirements work.
Size | Amount to Add for Requirements |
---|---|
1 KLOC | 10–16% |
25 KLOC | 12–20% |
125 KLOC | 13–22% |
500 KLOC | 24–30% |
Sources: Boehm 1981; Putnam and Myers 1992; Boehm et al, 2000; Putnam and Myers 2003; Stutzke 2005. |
If your project is highly iterative, you'll be allocating schedule within each iteration. If your project is more sequential, you'll be allocating schedule within whole-project phases.
Tip #99 | Consider your project's size, type, and development approach in allocating schedule to different activities. |
As with allocating effort to activities, allocating schedule to activities is easiest to do when you have your own historical data.