Agile Project Management and Quantitative Risk Analysis

Quantitative schedule and cost risk analysis involves four basic steps:

  1. Assign risks and uncertainties to project activities and resources
  2. Run Monte Carlo simulation of project schedules
  3. Analyze the results; primarily create risk adjusted project schedule, determine critical tasks and critical risks, determine probability that the project will be completed on time and on budget.
  4. Mitigate risks and perform project control with risks and uncertainties by repeating analysis on different phases of the project.

Quantitative risk analysis is a valuable component of the project risk management process for any project managed by traditional methods, in the construction industry for example. What about projects managed by agile methods, for example in software development? Agile approach has a number of principles. Some of these principles are directly related to project scheduling and risk management:

  • The project is performed iteratively where the next iteration is planned based on results of previous iteration.
  • The project plan is defined on a high level usually as a set of sequential iterations with their deliverables.
  • Detailed Risk register with probabilities and impact often are not explicitly defined; instead there is a backlog of issues which need to be resolved in each iteration.

AgileRiskManagementWe believe that even for agile project management quantitative risk analysis it would be a valuable project planning tool. Here is how it can be performed:

  • Maintain a very simple list of all interactions.
  • Assign issues from the backlog of issues to the certain iteration. Issues are essentially risks with the probability being 100%. However, issues have uncertainties in risk outcome. For example: in the software development process, there is a technical issue: “Communication with remote server is very slow”. It can cause iteration delays from 2 to 4 days.
  •  It is also possible to assign risks (with probability being less than 100%) however, with the agile process risks are harder to envisage.
  • Assign a deadline to each iteration.
  • Perform Monte Carlo simulations; if iteration deadline is missed the issue can be moved to the next iteration; technically it would mean to re-assign the issue to the next activity.
  • If the issue is resolved, remove it from the backlog or convert it to lesson learned.
  • Use probabilistic and conditional branching for iteration planning. For example, if issues cause a very significant delay of iteration, a new iteration can be planned.

In practical terms quantitative risk analysis can be performed in real time during scrum meetings or project meetings in any other format. Just one of the team members can be assign to maintain the list of iterations and backlog of issues. He or she will update these lists during the meeting, perform new analysis, and report to the team about results. Based on result of analysis the manager and team will make a decision: skip and issue, extend iteration, plan different iteration, change deliverables, etc. A similar approach to real time assessment and making decisions on the spot is used in decision conferencing.

Modern computer software significantly simplifies the process of performing quantitative risk analysis. As long as you have a list of iteration and backlog of issues, quantitative risk analysis does not require a lot of additional time.