7.3 Use Computation to Convert Counts to Estimates


7.3 Use Computation to Convert Counts to Estimates

If you collect historical data related to counts, you can convert the counts to something useful, such as estimated effort. Table 7-1 lists examples of quantities you might count and the data you would need to compute an estimate from the count.

Table 7-1: Examples of Quantities That Can Be Counted for Estimation Purposes

Quantity to Count

Historical Data Needed to Convert the Count to an Estimate

Marketing requirements

  • Average effort hours per requirement for development

  • Average effort hours per requirement for independent testing

  • Average effort hours per requirement for documentation

  • Average effort hours per requirement to create engineering requirements from marketing requirements

Features

  • Average effort hours per feature for development and/or testing

Use cases

  • Average total effort hours per use case

  • Average number of use cases that can be delivered in a particular amount of calendar time

Stories

  • Average total effort hours per story

  • Average number of stories that can be delivered in a particular amount of calendar time

Engineering requirements

  • Average number of engineering requirements that can be formally inspected per hour

  • Average effort hours per requirement for development/test/documentation

Function Points

  • Average development/test/documentation effort per Function Point

  • Average lines of code in the target language per Function Point

Change requests

  • Average development/test/documentation effort per change request (depending on variability of the change requests, the data might be decomposed into average effort per small, medium, and large change request)

Web pages

  • Average effort per Web page for user interface work

  • Average whole-project effort per Web page (less reliable, but can be an interesting data point)

Reports

  • Average effort per report for report work

Dialog boxes

  • Average effort per dialog for user interface work

Database tables

  • Average effort per table for database work

  • Average whole-project effort per table (less reliable, but can be an interesting data point)

Classes

  • Average effort hours per class for development

  • Average effort hours to formally inspect a class

  • Average effort hours per class for testing

Defects found

  • Average effort hours per defect to fix

  • Average effort hours per defect to regression test

  • Average number of defects that can be corrected in a particular amount of calendar time

Configuration settings

  • Average effort per configuration setting

Lines of code already written

  • Average number of defects per line of code

  • Average lines of code that can be formally inspected per hour

  • Average new lines of code from one release to the next

Test cases already written

  • Average amount of release-stage effort per test case

Tip #32 

Collect historical data that allows you to compute an estimate from a count.

Example of counting defects late in a project Once you have the kind of data described in the table, you can use that data as a more solid basis for creating estimates than expert judgment. If you know that you have 400 open defects, and you know that the 250 defects you've fixed so far have averaged 2 hours per defect, you know that you have about 400 x 2 equals 800 hours of work to fix the open defects.

Example of estimation by counting Web pages If your data says that so far your project has taken an average of 40 hours to design, code, and test each Web page with dynamic content, and you have 12 Web pages left, you know that you have something like 12 x 40 equals 480 hours of work left on the remaining Web pages.

The important point in these examples is that there is no judgment in these estimates. You count, and then you compute. This process helps keep the estimates free from bias that would otherwise degrade their accuracy. For counts that you already have available—such as number of defects—such estimates also require very low effort.

Tip #33 

Don't discount the power of simple, coarse estimation models such as average effort per defect, average effort per Web page, average effort per story, and average effort per use case.




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