Using an agile approach allows project managers to spot right away when things are falling behind.
1. Different levels of planning. Agile gives us the best of both worlds: a broad strategic picture and a real-time focused view.
In Scrum, for example, teams plan at three levels: release, sprint and daily commitments. The release plans are designed to be risk tolerant and prevent teams from missing strategic goals because you can change 'in-flight' during the product release. The sprint plan pauses the changes so teams can focus for two weeks.
At the daily stand-up meeting, individuals commit to their team members to finish something that day, which helps people collaborate when needed.
2. Blocker busting. One of U.S. statistician W. Edwards Deming's 14 principles for management is "remove barriers." Agile implements this at the daily stand-up meeting, where team members are encouraged to voice any blocker impending the project so that the team can assist in eliminating it.
3. Visibility. Agile uses tools like the release burn-down and sprint burn-down charts, as well as the task board to immediately show trouble in projects. Having them, using them and taking action when they highlight problems results in getting the most benefit.
4. Story flexibility. The waterfall approach assumes that all requirements can be explicitly defined at the start. Care is taken to create a solid plan and then control scope. In agile, it's an iterative and incremental approach. We admit pressure for scope changes will occur.
Agile builds the ability to deal with change into its approach. A story, which is a means to show current and new project requirements, can be added during the release between sprints, and stories that are likely to suffer quality problems can be dropped from a sprint or release.
5. Empirical planning adjustment. Agile plans look at previous results with the current team and environment to better estimate how much work to do in the future. Every sprint and release teaches the team more about how much it should plan for future iterations.
6. Retrospective actions. Agile has a built-in step to openly discuss the difficult parts of the team's process and focus on actions to improve in the future. Rather than wait until the end of the project when it's too late to improve the outcome, agile features 'retrospectives' or 'lessons learned' at the end of each iteration.These meetings review what went well, what went wrong, and how to improve for the next iteration.
Given these six opportunities to spot problems during all stages of the project, it's unlikely trouble will escape undetected for long.
How else do you think agile helps keep projects on track?