It seems that we’ve come to the conclusion that agile is the best way forward. According to a survey sponsored by CA Technologies, companies that have implemented Agile principles into software development and throughout their company have reported a 60% higher revenue.
But is agile right for every company? Or is the traditional Waterfall method the best option?
What Is The Difference Between Agile and Waterfall?
The waterfall methodology, also known as a linear sequential life cycle model, follows a step-by-step project management model where the software development team can only move to the next phase of the development once the previous stage has been completed and does not allow you to return to a previous stage.
With the Agile methodology there is no linear model since both development and testing, which are regarded as separate phases in the Waterfall methodology, are happening concurrently. The Agile method fosters open communication between developers, customers, managers and testers. “There has been a lot of discussion about what Agile and Waterfall methodologies for software development are, and what the advantages of Agile over Waterfall are, and most organizations moved from a rigid, large monolithic implementation of a Waterfall approach to flexible, iterative implementations of an Agile approach,” said Prasanna Singaraju, CTO and co-founder of Qentelli.
“With increase in the speed at which information is passed through systems, and the speed at which customer experiences change, it was inevitable for organizations that had end-user facing applications (systems of engagement) to move from Waterfall to Agile,” explained Singaraju.
Related Article: Agile vs Scrum vs Kanban Weighing the Differences
Why Do Brands Prefer to Go Agile?
Agile and Waterfall are clearly two very different project management schools of thought, but with today’s ever-changing consumer demands brands are favoring Agile, according to Kristina Zaharov, quality assurance manager at Clearbridge Mobile. “Agile is generally preferred, especially in the app development industry because it offers a more collaborative work style and allows for one to catch errors in requirements much quicker,” said Zaharov. “I also like the fact that the agile approach allows for a lot more client involvement throughout the project. This allows for a constant flow of feedback which generally leads to a better end product.”
Robert Reeves, CTO at Datical, agrees. “Agile is the best way for a business to balance constantly changing customer demands and the need to consistently show progress that benefits the customer. It's applicable to all parts of the business and well worth the effort to implement agile early and often. Additionally, Agile is not just for development and IT. We use it for things in non-development like sales enablement materials.”
Based on discussions with Reeves and Zaharov, Agile seems to be the ideal methodology to help brands keep up with the continuously changing consumer demands of the modern day.
Related Article: How Resource Management Works in an Agile Environment
Is There a Time When Waterfall Works Better?
Robyn Heller, lead technical project manager at Trulia, said that while everyone wants to be “agile,” both methodologies have their time and place. When deciding between agile and waterfall, you need to consider whether your teams are feature-based or cross-functional, if your project has a hard deadline, and you need to factor in the structure of your organization. “Bigger projects with a lot of feature teams and dependencies work best with a waterfall approach because you can figure out a lot of the work ahead of time, track timing and dependencies. Things have to be well-defined and structured for these big projects to work. Whereas a cross-functional team can benefit from the autonomy of an agile approach, learning to iterate as they go,” said Heller.
By ensuring the project specifications are well-defined early on, the waterfall approach can work. But “there are many times a waterfall approach works well, but these projects can become exhaustive for the engineers working on them. If you can provide your engineers with the autonomy and the opportunity to mold a feature as they build it, and break down a waterfall project into smaller more agile increments, there is a greater likelihood of success,” said Heller.