risk

Agile Risk Management

Danger Today's evaluation of one of our projects was a tough one. It seemed like nothing had gone right. The customer had signed the contract far too late, which meant that resource management had to switch to another (inexperienced) team, because the original team was already booked for other projects; the platform to be used turned out to be much older than anticipated; the customer singlehandedly decided on a live release date, and forgot to inform anybody else on the team about it; half of the requirements turned out never to have reached the proper team members, due to some stupidly bad communication; and beta testing was a nightmare because the customer hired a third-party service organization, and the development team was not allowed access to the beta testing environment.

Needless to say, the first release of the project was bad. Really bad.

Could we have prevented our problems?
Of course!

Do the agile methods have anything to say about such problems?
(In our case) nothing useful!

Can we solve these problems by adding more processes?
Absolutely not!

Risk analysis in agile methods

Risk analysis in traditional software development projects is often performed for real only before getting the financing and actually starting work. After the project ends there are often the "lessons learned" sessions, which in case of a failure are called postmortems. During these pre-project and post-project risk analysis activities an attempt is being made to reduce the risks and maximize the probability of success. The recent addition to this collection of methods is the idea of a premortem that is a risks review that happens before the project start as if the projects has failed already. While all the pre- and post-project risk analysis techniques are indeed useful and can help organization to improve own practices, they only look at the potential problems at only two moments of time. Therefore there is always a danger of missing the important factors that either did not exist at the point of analysis or team members did not have enough information about those.

How agile has to kill projects

Agile software development methods assume the significant amount of uncertainties and risks in the software development. The idea of the iterative development  employed by agile methods is aimed at verifying the project direction and state frequently.

Agile risk mitigation

Agile approach at risk mitigation is to attack the most unsure items first and therefore lessen the amount of the unknown as early as possible. In a way every iteration planning is a risk analysis and mitigation planning session. Imagine a project, where supporting millions of users is something the team is not sure is possible. In this case agile methods advocate for implementing the scalability support before the majority of the features.

Syndicate content