Waterfall and Agile are among the most popular IT project management methodologies. The Waterfall methodology is usually considered the ‘traditional’ approach because it applies older principles, thus is perceived as more rigid, and less adapted to the needs of the industry.
One of the key ways in which Waterfall and Agile methodologies differ is how they treat risk. However, in order to understand how risk management is dealt with in these two environments, it is important to know how each of these two development methods work.
Developing Web and Mobile Projects in the Waterfall (Traditional) Environment
The traditional way of developing a web or mobile app project was to treat the entire project, no matter how large, as a whole. Every aspect of the work was being decided at the beginning, and a project plan was created and followed through.
The main phases of a Waterfall or traditional development project are:
- Define the scope
- Build the project
- Release the product
Once these steps are determined and work is allocated to each team member, few changes can be made. When there is a need for change, the entire project is set back to a previous phase and it will be impossible to deliver it on the agreed date.
Web and App Project Development Work in an Agile Environment
The Agile methodology has a completely different approach to web and app development work. The project, instead of being treated as a whole, is divided in multiple iterative processes named sprints.
A sprint includes all three phases of the traditional approach: define, build, and release. However, since each sprint covers only one part of the project as a whole, it is possible to go back, to make changes and to undo various parts of the work without affecting the entire project.
We can say that while the traditional approach is trying to build a skyscraper from a huge block of rock, the Agile approach uses building blocks, adding and removing them until the perfect result is achieved.
How Risk Management Differs between Traditional and Agile Environments
1. Planning for Risks
Traditional environment – all known and unknown risks are assessed at the beginning of the project, when the scope is defined. Once these risks have been identified, there are various provisions made to cover them. If a risk which was not provided for occurs, the team has to stop the development process and reassess risk as a whole, creating new provisions, work rules and practices.
Agile environment – risk is continually assessed for each sprint. Each sprint starts with a planning meeting and ends with an assessment meeting. Thus, the risks which have not been identified and provided for at the beginning of the sprint can be included in the work practices for the next sprint.
2. Budget Impact of Risks
Traditional environment – the main problem with the Waterfall environment is the high budgetary risk. Once the project is launched, the failure to complete it on time and according to the client’s requirements can prove costly. The rigid framework makes it hard for changes to be implemented, because each new change impacts the project as a whole, the work of all the teams and all the professionals.
Agile environment – projects developed in an Agile environment are less likely to fail and create financial and reputational losses. According to a research conducted by Standish Group in 2015, 9% of Agile projects failed compared to 29% of Waterfall projects. The report indicated an increasing percentage of failed projects in the Waterfall method depending on the size of the project:
- 11% for small projects
- 25% for medium-sized projects
- 42% for large projects
This number is indicative of the lack of flexibility of the Waterfall method, compared to the Agile method which reflects on each aspect of project development, including response to risk.
3. Failure to Identify and Mitigate Risks
Traditional environment – no matter how carefully unknown risks are taken into account, some of them can slip unnoticed and manifest themselves in the late phases of the project. This explains the results found in the research above, where the complexity of the project directly influenced the percentage of failures.
Agile environment – the Agile environment is highly responsive. The principle of working in sprints means that some of the project development phases occur several times until the project is completed. Thus, a risk which may have been overlooked once will certainly be noted the next time it manifests itself.