8.3 How to Calibrate


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:

  • Our developers average X lines of code per staff month.

  • A 3-person team can deliver X stories per calendar month.

  • Our team is averaging X staff hours per use case to create the use case, and Y hours per use case to construct and deliver the use case.

  • Our testers create test cases at a rate of X hours per test case.

  • In our environment, we average X lines of code per function point in C# and Y lines of code per function point in Python.

  • On this project so far, defect correction work has averaged X hours per defect.

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."




Software Estimation. Demystifying the Black Art
Software Estimation: Demystifying the Black Art (Best Practices (Microsoft))
ISBN: 0735605351
EAN: 2147483647
Year: 2004
Pages: 212

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net