Risk management is the identification, assessment, and prioritization of risks (whether positive or negative) followed by an application to minimize, monitor, and control the probability and/or impact of unfortunate events or to maximize the realization of opportunities.
Regular RM Process
Identify, characterize threads.
Assess the vulnerability of critical assets to specific threats.
Determine the risk.
Identify ways to reduce those risks.
Prioritize risk reduction measures based on a strategy.
Some disadvantages
A list is created to track all the identified risks.
It basically is an ordered list, each risk will be ordered based on their impact on the project and the probability of that risk coming true.
A mitigation plan is created for the risks at the top of the list.
The problem with this approach is that it is not agile.
This risk management is overwhelming and bureaucratic and experience tells us that teams has not the discipline to do this regularly by the book .
Only focus on the importnat risks only, which are common to all projects and even more they rarely manifest .
RM Process in Agile?
Risk Identification in Agile
Agile replaces explicit risk management with a continuous risk management.
The whole team does this exercise on an iterative basis. The results are recorded on white boards or flip charts.
Due to its iterative nature, it implicitly makes risk management a part of the project life cycle.
Risk Identification in Agile
Risk gets addressed all the time as a part of daily stand-ups, iteration planning meetings, release planning meetings, retrospective and review meetings.
Daily Stand up meetings: team members need to answer this: Are there any blockers in your way?
Sprint Retrospective: allows catching all the risks associated with customer communication and requirements.
Risk Analysis
Qualitative analysis using judgment, intuition, and experience in determining risks and potential losses.
Short development cycles and constant reviews in Agile, make this feasible and effective.
This is different from traditional projects where quantitative analysis is done and numbers are assigned to the damage which can occur.
Risk Mitigation in Agile
Scrum Master main function is to eliminate or mitigate any blocker.
Risks are not blocked items, instead they are on the Scrum master's watch list, as a note for things which could go wrong.
Agile stresses the importance of the continuous communication of the problems.
States that detect and talk about a risk is more than enough to mitigate it.
A Scrum team could sort stories by value and risk and work on the risky stories long enough to correctly identify and mitigate the risk.
Disadvantages
Agile can help with risks related to change in requirement, lack of communication and under performance by team members.
However, risks which are external to the project need more than Agile to be resolved.
Lack of understanding of Scrum at the customer
Third party products don’t work as expected
External factors which the project depends on won’t happen in time
Data loss or corruption in team systems
For this risks is recommended to manage them using a regular risk process to monitor and handle those.
What is Agile?
A group of software development methods that builds software incrementally.
Breaks projects down using user stories , prioritizing them, and then continuously delivering them in short cycles called sprints .
Agile purpose
To teach teams to be Agile.
While a new process can easily improve team productivity by a fraction, enabling your team to work effectively as a cohesive unit can improve productivity by several times.
Agility is the ability to both create and respond to change in order to profit in a turbulent business environment. - Jim Highsmith, Agile Project Management
To make the customer the one who funds the software development
.
A document can have plenty of information, but real knowledge is hard to put on paper.
Agile values
Individuals and interactionsover Processes and tools
Working softwareover Comprehensive documentation
Customer collaborationover Contract negotiation
Responding to changeover Following a plan
Scrum Framework
Scrum is an iterative and incremental Agile software development framework for managing software projects and product or application development.