Managing Risk on Agile Projects with Engineering Practices

16 December 2013

Gurtej Pal Singh
GlobalLogic Inc.


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."

Article Rating

Current rating: 4.3 (4 ratings)

Comments

Sonik Chopra, CSP,CSM, 12/16/2013 2:30:11 AM
Nice article.
Sameer Chudaman Patil, CSP,CSM,CSPO, 12/18/2013 1:11:23 AM
Few more to add here

Execute previous iteration test case- can be handle by implementing good automation.

Risk of modifying script again and again- can be avoided by using good tool/or automating some functional unit test cases.

Again need handle risk of unidentified interfaces that can be handling by using feature/schedule buffer .

Using User proxy (as actual customer is no present) is also one more risk need to mention plan to handle this may
Gurpreet Singh, CSP,CSM, 12/18/2013 1:41:12 AM
nice article Gurtej! Awesome is the word!

You must Login or Signup to comment.