Agile projects often leverage a roadmap to help guide the team on product vision, priorities, and communicate key milestones. Roadmaps are best constructed with both engineering feasibility, capacity, and product priorities in mind, but often they are not. Many things can go wrong that can derail an agile project and render the roadmap useless. Team capacity issues, changing priorities, or lack of a clear backlog can all contribute to derail a project. How can using critical path analysis, typically seen as a waterfall planning technique, help get agile projects back on track?
Critical Path Analysis
The critical path in a project is the longest series of dependent tasks that directly impact the project or milestone delivery dates. An agile project will have many tasks (often represented as user stories or sometimes as epics in a roadmap) that can be executed in parallel. Even though agile projects and roadmaps tend to ignore it, a critical path is always present. In complex projects, this hidden linkage of dependencies can hide a risk looming in the roadmap.
Generally, experienced engineering teams can determine these types of dependencies as they refine the backlog and can adjust accordingly. However, inexperienced teams can easily miss these dependencies and unknowingly ignore them, as they are not explicitly called out in the roadmap or backlog. In one of the many drawbacks of agile methodologies, teams (both engineering teams and product / business teams especially) often feel discrete planning is not required.
Put A Plan Together
No matter what project methodology is being used, a plan will help validate the assumptions of the roadmap; or, even better, an execution plan will drive the roadmap. Have the team pull together a plan, decomposing epics into smaller elements (usually User Stories, but for purposes of a rough plan – they do not need to be fully flushed out user stories). The general idea is to flush out enough of a plan to reduce the delivery risk and timelines of the project. Then, actively review and iterate on the plan to attempt to flush out any further assumptions or dependencies that previously went unnoticed. This could take a few days or a few weeks depending on the project, but is often an exercise well worth doing for projects that are in trouble. This is also a handy exercise for the initial roadmap planning of any starting project.
Find The Critical Path
Through a few iterations of the plan, the team should be able to generally determine sequencing and dependencies. With team capacity, skill sets, and organization in mind, the team should be able to find their new timelines or projected milestones. Even though they may not realize it, they may have found their critical path to execute.
If the team is struggling to come up with a plan, or needs help determining dependencies and sequencing, then they would likely benefit from a more experienced engineer, lead or manager in helping with the plan. This could also be a strong sign that the makeup and leadership of the team is not well suited for the delivery of the project, and should also be reviewed.
Recast The Roadmap & Communicate
Once a plan is available, the product roadmap should be recast to reflect reality. The new roadmap might have entirely new milestone targets and dates, hopefully more aligned to project execution as well as business / product priorities – or the roadmap may have just been adjusted for delays. Either way, the entire team (engineering and product) should have a new roadmap that they can communicate and align to. Reviewing the roadmap, and this process (if the roadmap starts to deviate substantially), on a regular basis is a good idea.
Of course, if the new roadmap is not palatable, feasible or approved – it may result in a cancellation of the project or realignment of resources to different objectives. At a minimum, a decision can be made for the faltering project.
Using Tools That Make Sense
Not surprisingly, key concepts from other project planning methodologies, such as waterfall, can be of benefit to agile projects as well. In this case, the use of quick, possibly even crude, critical path analysis can help an agile project get back on track.
Leave a Reply