17.4 An Example of a Standardized Estimation Procedure for Iterative Projects


17.4 An Example of a Standardized Estimation Procedure for Iterative Projects

Table 17-4 shows an estimation procedure that's suitable for iterative software projects. This sort of procedure tends to be most useful in organizations that are on an annual budgeting cycle. The budget is fixed at the beginning of the cycle, which means staffing levels are also fixed. The estimation challenge is thus not to estimate cost (which is fixed by the budget) or schedule (which defaults to a year for annual budgeting cycles). The challenge is estimating the amount of functionality that can be delivered with fixed staff and within a fixed timeframe.

Table 17-4: Example Standardized Estimation Procedure for Iterative Projects—Emphasis on Estimating Features
  1. Exploratory Estimate (To Plan First Iteration)

    1. Planned feature set shall be estimated using Story Points.

    2. First iteration shall be planned using the organization's historical delivery rate.

      1. Iteration shall be no longer than 1 month.

      2. No estimate for the whole project shall be made.

      3. No commitments shall be made.

  2. Planning Estimate (To Plan Second and Third Iterations)

    1. Average Story Points per staff week shall be calculated (to calibrate effort).

    2. Average Story Points per calendar week shall be calculated (to calibrate schedule).

    3. Data from II.A and II.B shall be used to plan the second and third iterations.

      1. Iterations shall be no longer than 1 month each.

      2. A nominal estimate for the whole project shall be made in terms of number of Story Points that can be delivered in the amount of time and staffing level allowed (N).

        1. Estimate may be published internally as 0.75N to 1.0N.

        2. Estimate shall not be published externally.

        3. No commitments shall be made.

  3. Commitment Estimate (After Third Iteration)

    1. Average story points per staff week shall be calculated based on first three iterations (to calibrate effort).

    2. Average Story Points per calendar week shall be calculated based on first three iterations (to calibrate schedule).

    3. Data from III.A and III.B shall be used to plan remainder of project.

      1. A nominal estimate for the whole project shall be made in terms of number of Story Points that can be delivered in amount of time and staffing level allowed (N).

        1. Estimate may be published internally as 0.9N to 1.1N.

        2. Estimate may be published externally as 0.9N to 1.0N.

        3. Commitments may be made based on 0.9N to 1.0N.

  4. Project Shall Be Reestimated at Any Time in Response to Major Changes in Project Assumptions

    1. At a minimum, project estimation calibrations shall be updated after each third iteration to account for changes in staffing, increased productivity, and other factors.

  5. Project Completion

    1. Collect and archive data on actual project results for future use.

    2. Review estimate accuracy of each estimate.

      1. Analyze root causes of any major errors.

      2. Assess whether the same accuracy could be produced with less effort.

      3. Propose revisions to the standardized estimation procedure.

The procedure defined in Table 17-4 assumes that the iterations are well controlled—that is, that each iteration is brought to a releasable level of quality, "cleanup work" is performed within each release and does not accumulate off-plan, and so on.

The procedure shown in Table 17-4 also illustrates many of the elements usually found in estimation procedures:

  • Emphasizes counting and computing when possible, rather than using judgment In Estimate II, data from the project is fed back into the estimation process so that estimates from that point forward can be computed based on the project's historical data.

  • Calls for use of multiple estimation approaches and comparison of results This procedure does not call for multiple approaches. If you were to use this procedure and you found that Story Points were not providing good predictive accuracy, you should amend the procedure to use additional estimation methods.

  • Communicates a plan to reestimate at predefined points in the project The plan calls for Estimates I through III, which indicates an intent to reestimate periodically.

  • Defines how the required estimation approach changes over the course of a project As with the sequential procedure, the details of each step in this procedure are different based on the historical data the project has generated.

  • Contains a clear description of an estimate's inaccuracy Estimate I simply states that no whole-project estimate shall be made, and Estimate II provides an uncertainty range of 75% of intended functionality to 100% of intended functionality.

  • Defines when an estimate can be used as the basis for a project budget In this case, the financial budget is assumed.

  • Defines when an estimate can be used as the basis for internal and external commitments Estimate III is called the "Commitment Estimate." Earlier estimates explicitly state that they shall not be used as the basis of external commitments.




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