Planning an Iteration (CMMI)

Developing software in iterations means that you divide your work into incremental stages such that you have software with progressively more working features at the end of each iteration. Ideally, you have something to show the customer after even the first iteration. Iterations let you receive feedback early so that you can make course corrections early.

The matter of planning iterations comes down to deciding how long you want your iterations to be, determining how much work your team can get done in that time, and planning what work should be included in each iteration.

The GovDev for TFS 2010 v1.0 template supplies an Iteration Path field in each work item to help you track your work by iteration. You can customize that path to reflect the iterations that you plan to perform.

In this topic

Create tasks to implement and tests to verify each use case

The iteration plan is represented by the list of tasks and test cases that are scheduled for the iteration. Each task and test case is linked to the use case that it implements.

The tasks and test cases assigned to each iteration are visible in the Iteration Backlog query and on the Project/Progress and Test Dashboards. For more information, see Dashboards (GovDev).

At the start of the iteration, the team reviews the use cases that are scheduled for this iteration and creates task and test case work items. The task work items describe the work (such as design, development) and the test case work itmes describe the steps for testing the use case.

The tasks can be most easily created and linked to the use case by using Office Excel and the Iteration Task Backlog workbook. For more information, see Iteration Task Backlog Workbook.

During the iteration, team members update the completion status and work remaining fields of the tasks and test cases. If the team keeps this information current, the Progress dashboard and other reports indicate how much work remains and the slope of the burndown chart indicates whether the work is likely to be completed on time.

Estimate the appropriate work load for the iteration

It is most likely that, during project planning, it was agreed that product increments should be developed in a series of time-bound iterations. Typically, these iterations vary from one week to four weeks.

The template provides the following reports, which are useful when estimating how much work to plan for an iteration.

  • Status on All Interations: This report helps you track team performance over successive iterations. Use the report to see how many use cases and how many hours were completed in an iteration.

  • Requirements Progress and Requirements Traceability: This report lists all requirements, use cases, tasks, and test cases, filtered by area and iteration. This report can show you how much work was completed by the team in an iteration.

  • Burndown and Burn Rate: Burndown shows the trend of completed and remaining work over a specified time period. The burn rate shows the completed and required rate of work based on the length of the iteration.

Schedule an iteration demonstration and handoff

You should plan time to demonstrate the incremental functionality to stakeholders, to gather the team for a retrospective, and to hand off the completed work for validation tests.

Typically, you should allocate time on the last day of the iteration to demonstrate the working functionality to stakeholders.

Record the feedback, and save it on the project portal. If the demonstration brings new tasks or requirements to light, create work items as necessary. These should then be fed into future iteration plans.

Launch an iteration

Kick off the iteration with a mini-version of the project launch. Bring the team together. Outline the goals and the scope of the iteration. Discuss and present the plan and any targets. Ensure that all team members have enough context to continue with the work in a self-organizing manner. Make time and space for questions from team members, and record any issues or risks that are brought up during the meeting. Store these as minutes in the project portal. As a project manager, follow up by creating risk and issue work items, as appropriate.

Track an iteration

Additional resources