MSF for CMMI Process Improvement Visual Studio Team System logo

Activity:

Estimate Iteration (CMMI Level 2 : PP 1.1 )

Participating Roles

Responsible:

Project Manager

Developer

Tester

User Experience Architect

User Education Specialist

Consult:

Any

Informed:

All

Overview

Entry Criteria

  • A list of work items under consideration for the iteration.
  • The risks identified for the project or iteration.
  • The open issue log and the historical record of issues and their impact on the schedule or productivity of the team.
  • The project reports from previous iterations; particularly velocity and unplanned work.

Sub-Activities

1

Gather Metrics

  • Collect any available report data from previous iterations.

2

Choose an Estimation Method

  • Choose a method of estimation. For example, by effort (expressed in person days) on individual tasks, or by some more lightweight approach. The standard reports are setup to facilitate lightweight estimation which embraces the concept of variation in process performance.
  • In general, the MSF approach uses the velocity data from previous iterations. Divide the mean velocity into the length of the iteration to determine the approximate midpoint for the number of work items that can be completed in the iteration. Reduce the number slightly to provide a buffer that is under the expected team performance. This should be the minimum commitment level for the iteration. Set a second number based on a slightly inflated (above average) velocity. This should be the stretch goal number. The difference between the two is the scope buffer for the iteration plan.

3

Calculate Estimate

  • If estimating individual tasks, divide the proposed iteration backlog across iteration work groups. Have each work group analyze the work items and make an estimate. Each team should be asked to create the midpoint estimate for each task; i.e., if given the opportunity to do this task 100 times, what number would allow the task to be completed approximately 50% of the time?
  • Take the iteration length and subtract a buffer to absorb special cause variations; issues and risks that affect the critical path. Start with 15% of scheduled time for this. It may not be enough, it may be too much. Ask yourself, "How much insurance do I want to buy against unknown problems occurring?" Use the identified project risks and the open issue log to gauge the answer to this. How many days were lost on previous iterations due to blocking issues?
  • Subtract a buffer for common cause variation. Compare planned versus actual data from previous iterations. How accurate were the planned estimates? Buffer accordingly for the inaccuracy. Include the data from the Unplanned Work report as input. Emerging unplanned work must be treated as common cause variation in the process.
  • Take the prioritized or ordered iteration backlog and fill as much of it into the remaining iteration time. This is the minimum commitment for the iteration.
  • Now fill the time buffer with more tasks from the backlog. This extended list will represent the stretch goal for the iteration.
  • If you are lightweight estimating using velocity, then divide the mean velocity into the length of the iteration to determine the approximate midpoint for the number of work items that can be completed in the iteration. Reduce the number slightly to provide a buffer that is under the expected team performance. Reduce it further to buffer for unplanned work (based on data from the Unplanned Work Report in previous iterations). This should be the minimum commitment level for the iteration. Set a second number based on a slightly inflated (above average) velocity. This should be the stretch goal number. The difference between the two is the scope buffer for the iteration plan.

4

Publish Updated Iteration Backlog

  • Publish the updated proposed iteration backlog with a minimum commitment level and a stretch goal level to the project portal.

Exit Criteria

(C) 2005 Microsoft Corporation. All rights reserved.

MSF for CMMI Process Improvement: Build 050707