Software Estimation: Demystifying the Black Art (Best Practices (Microsoft))

8.3 How to Calibrate

The ultimate goal of collecting data is to convert the data to a model that you can use for estimation. Here are some examples of models you could create:

These are just examples to illustrate the kinds of models you can build using historical data. Table 7-1 in the previous chapter listed many more examples.

One characteristic these models have in common is that they are all linear. The math works the same whether you're building a 10,000-LOC system or a 1,000,000-LOC system. But because of software's diseconomies of scale, some models will need to be adjusted for different size ranges.You could try to handle the size differentiation informally. Table 8-1 shows one example of how you might do that.

Table 8-1: Example of Accounting for Diseconomies of Scale Informally—For Purposes of Illustration Only

Team Size

Average Stories Delivered per Calendar Month

1

5

2–3

12

4–5

22

6–7

31

8

No data for projects of this size

This approach is valid when you have small variations in project size. To account for larger variations in project size, see Section 5.1, "Project Size," and Section 5.6, "Diseconomies of Scale Revisited."

Категории