Risk Management in Agile
A risk is defined as any factor that could impact outcome of a project positively or negatively and risk management is the practice of identifying them and taking precautionary steps to manage them
In traditional software development methodology, risk management is an important process, especially in planning function. However, when it comes to Agile there is a common stereotype that an Agile project is totally unplanned and risk management is not applicable. However, this is far from correct. Poor risk management is the major contributor to the failure of any project and hence risk has to be managed in a project, irrespective of the software development methodology.
The main difference is that in agile projects, risk management is done throughout the project lifecycle as opposed to traditional models where a major portion of risk management is done upfront.
In Agile projects, the team has to be trained in the risk management and build-in focus on thinking about risks in all of the Agile/Scrum ceremonies:
1.Product Backlog - Product owner need to consider risk as a consideration for prioritizing user stories and breaking down the ones over a certain size into smaller stories
2. Sprint planning - Team can only accept the work they are confident about delivering
Below are the ways and approaches to incorporate risk monitoring and control in Agile projects:
3. Daily stand up meeting - This can become a forum of raising issues and risks as the team can think about the question on what is blocking or likely to block their planned deliverable
4. Sprint Reviews – Regular product demos ensures less risk of delivering the wrong product. In Sprint reviews, stakeholders can be informed of possible blockers and opportunity to highlight mitigation activities
5. Sprint retrospective – Focus on what can be done better, and the idea of continual improvement will ensure risks are unveiled
In general, risk management in an Agile approach offers more mitigation options than traditional waterfall model:
1. Schedule variation which generally is the biggest risk in projects is managed in Agile by way of having feedback loops
2. Frequent changes in requirements or scope creep is an integral part of the agile scrum process and the changes go into product backlog for prioritization
3. Team and customer are synchronized on the need and constant exposure to customer minimizes the risk of not building the product to the need