|Assess project status and identify any blocking issues and opportunities. Identify and manage exceptions, problems, and risks. Communicate project status.
|Disciplines: Project Management
Help the team meet the iteration objectives and keep the project on track. Manage stakeholders' expectations as
technical and practical discoveries are made during the project.
Developing the team is part of executing the project. Improve the interactions and trust between team members,
incorporating team building into project activities, and empowering the team to make decisions. Management is done by
objectives and not by time reporting.
Help the team meet the iteration objectives by removing constraints, and by monitoring the progress and work remaining
to completion. When the team is falling behind, help the team assess how it can reduce work and still meet the
iteration goals. Involve stakeholders in approving changes and actions that affect them, so that their objectives for
the iteration can be met, and the issues they raise can be solved throughout the iteration.
Select an approach for the collection of basic metrics: ideally, they are automatically generated from the tools at
hand, but can be manually assembled, or both. Outline
which metrics the project should use in the [Project Definition and Scope].
Track current iteration progress
Continuously monitor the iteration to ensure that it is progressing appropriately. Track the progress of the current
iteration by maintaining visibility on the status of the items that are being worked on during the iteration. In
particular, it is important to be able to understand how quickly the team is moving through the work scheduled for the
iteration, and how accurate the estimates were [LEF07].
Share information about the progress being made by having quick, frequent meetings with the entire project team. These
meetings are useful to understand what team members have accomplished since the last meeting, and what they plan to
accomplish before the next meeting. It also allows the team to identify any blocking issues. See [Collaboration Guidance] for more information.
Track the status of each work item by using visual indicators of state information (for example: defined, completed,
accepted) in a wall or automated tool. Since iterations are typically fixed in duration, another primary way to gauge
progress is to continuously monitor current status and also estimate how much work remains. Plot an iteration burndown
chart on a daily basis in order to visualize progress on a given iteration. This chart is plotted with the total
estimates for all the items that are not yet started and the estimated remaining effort for any item in progress. See
Report: Iteration Burndown for more information.
Take corrective actions to adjust the course of the iteration if the burndown chart shows that the work will not be
finished as planned.
Capture and communicate project status
Because outside stakeholders do not participate in the daily activities of the team, it is important that the status of
the project should be communicated to them as often as possible. This communication significantly lowers the risk of
disconnect between the development team and the stakeholders. The status provides the team with data they can use to
improve their development process.
Besides the iteration status, the overall project status can be captured and communicated in a burndown report for the
whole project. This report should show the progress toward the release date, and should be updated at the end of every
iteration (when metrics, such as the team's velocity, can also be provided). This allows the team to predict what it
can accomplish on the remaining project iterations. Other metrics (such as number of test cases passed) can also be
used to present iteration and project status.
Keep the status information visible to stakeholders and the project team at all times in a project workspace (walls or
automated tool), where stakeholders can come and experience first-hand the progress being made by the team.
Handle exceptions and problems
Know about the team's problems and issues and focus on problems that are blocking progress. A quick, daily meeting
is usually a good way to monitor those problems and issues. Keep a record of issues that have to be solved within
the team in the Iteration Plan. If a critical problem or issue is
likely to take a lot of time to solve, capture it in the Work Items List so that it can be assigned to an individual.
Identify the cause and impact of problems and exceptions as they arise. Identify possible solutions for problems that
have an immediate impact on the short-term goals and objectives. Identify who needs to be involved in implementing the
solution. Define the corrective actions and implement them.
Identify and manage risks
Identify risks as soon as the project starts, and continue identifying and managing risks throughout the project.
Revisit the Risk List weekly, or at a minimum once per iteration. Involve the entire team in
identifying and mitigating risks.
|When a team is falling significantly behind, or critical problems occur that prevent the team from meeting the iteration
objectives, it may be necessary to descope work to ensure that the team delivers a useful product increment by the end of
the iteration, while maximizing stakeholder value. Work with the team and stakeholders to revise the Iteration Plan and, as
necessary, reduce the emphasis on less critical tasks by postponing them to a subsequent iteration. In rare cases, if the
iteration objectives still seem impossible to meet, the team might consider terminating the iteration or reformulating the
iteration to a new objective.