Get certified - Transform your world of work today

Managing Risk on Agile Projects with Engineering Practices

12/16/2013 by Gurtej Pal Singh

One objective of Agile is to reduce risk, which will result in successful and effective products. Its inbuilt mechanism is the work we do to identify, reduce, and mitigate risk as we go along during Agile/Scrum rituals and ceremonies, such as sprint planning, retrospectives, Daily Scrum, etc. The continuous feedback helps the team be focused and develop the desired product without much deviation.

Although there is extensive information available on risk management, very little has attempted to rigorously apply effective engineering practices as tools for risk management in Agile development projects. The purpose of this article is to name some engineering practices that, when aligned to Agile product development, will empower overall risk management.

Traditional project management techniques recommend a risk register for managing and controlling risks. In contrast, Agile teams use existing Agile artifacts and meetings to manage risk. Scrum teams also wait until the last responsible minute to address risk, when they know the most about the project and problems that are likely to arise.

Although in Agile there are some inbuilt risk mitigation and avoidance techniques, I would like to share how we can reduce and mitigate risk by using best-suited engineering practices. They help reduce unexpected costs during the project execution.
The following table shows the major risk in Agile projects and relevant solutions (engineering practices):

Risk Mitigation/Avoidance Approach
Personnel loss/key resource not available Pair programming and collective code (shared code) ownership
Scope creep/changing requirements Test-driven development and acceptance test-driven development
Schedule flaw/delay in acceptance Continuous integration and customer tests
Technology challenges/productivity variation Spike solution, exploratory testing

These are some of the bare-minimum engineering practices that are effective in Agile, which are simple to manage and align with the iterative process.

Editor's note: These practices have also recently been discussed in the independently submitted article "Agile X Factors."