Roles and Activities > Manager Role Set > Project Manager > Assess Iteration
One of the primary advantages of the iterative approach over the waterfall approach is that the iterations provide natural milestones for evaluating progress and bounding risk. Within the iteration, progress and risk must continue to be assessed (if informally) to ensure that difficulties do not derail the project.
This step involves the following work, based on the project's measurement plan:
During an iteration assessment, metrics are examined, and any actions are decided, which may involve replanning, re-tooling, training, reorganizing, etc… including revisiting the measurement plan. Similarly at the end of a cycle, a "post mortem review" can make sure that some of the metrics collected can be exploited to improve the process, or for estimation purposes.
For more information on metrics, see Guidelines: Metrics.
For iterations that span weeks or even months, metrics collection and reporting will be a continuing activity, with periodic Artifact: Status Assessments capturing the intermediate results.
Near the end of each iteration, the core project team should meet to assess the iteration, focusing on the following:
Assess the results of the iteration relative to the evaluation criteria that were established for the iteration plan: functionality, performance, capacity, quality measures. Use metrics resulting from the testing activities and the step Collect Metrics as the basis for the assessment, when available, to quantify the assessment; qualitative measures are adequate for inception and perhaps early iteration, while later elaboration, construction and transition must rely upon specific test measurements to assess quality, performance, capacity, etc. Address other unresolved issues that were captured in the status assessments performed during the iteration, and any others in the Project Manager's Issues List.
If all risks have been reduced to acceptable levels, all functionality has been implemented, and all quality objectives have been met, the product is complete. Good planning and execution are essential to making this occur at the end of the Transition phase.
It is easy for the project team to become so inwardly focused that they are not aware of changes in the world outside the project team. The business may change, adding, changing or removing key requirements. Or a competitor may enter the market with a similar product, causing a change in market timing requirements, features, or target product cost.
Given the current state of the external environment, is the project plan (including milestones) still valid? Have the risks changed, forcing a reconsideration of the iteration plans? Is the right product being built and is the vision still valid? Is the product team on track to deliver that product? Are process changes necessary because of changing external circumstances?
Use the results of these discussions to generate change requests for the vision, risk list, the project plan, the iteration plans, or the development case.
Sometimes an iteration will fall short of expectations because the objectives were set too high. Setting high goals is important, but there is sometimes a fine line between aggressive and unrealistic. Project teams are motivated by goals that cause them to stretch their abilities, but tend to become demoralized if objectives are consistently beyond their reach. Defining goals so that the project team is challenged without being overwhelmed sometimes takes a few iterations in itself, as the team learns to work together and learns its limits.
Examine the evaluation criteria to determine whether they were realistic. Sometimes the benefit of the iteration is in revealing that a particular requirement is not as important as originally thought has tremendous value in itself. Projects are often crushed by complex but low-value requirements imposed by over-eager users enthralled by the latest technology; an iteration or two can re-set their expectations and get them to focus on the functionality which provides real value.
Sometimes the iteration will reveal that a particular feature is very expensive to implement or creates an unmaintainable architecture. The business case for this feature should be revisited to see if the feature should remain in-scope, or perhaps revised to make the requirement reachable in a cost-effective way.
Based on the results of the assessment, create change proposals for the
list, project plan, iteration plans, development case and requirements.
Rational Unified Process