A new report has shed some light on the never-ending battle between agile and waterfall working methods.
After gathering data from 1,316 applications, from 212 enterprises, consisting of over 700 million lines of code, software analysis firm Cast has concluded that a healthy mix of agile and waterfall produces the best results.
Read more: Be agile or be left behind: The future of IT
The company says that this blend of the two methods, "with an up-front emphasis on architectural quality and design – will result in more robust and secure [enterprise] applications."
Going for an agile- or waterfall-only approach, according to Cast, results in software that is "more susceptible to security, reliability, performance, and cost issues."
The report found that apps developed using a mix of agile and waterfall working methods generally feature fewer code quality weaknesses than those created with a blinkered approach. Such weaknesses lead to a higher risk of security breaches and outages.
The report also found that apps built for use by over 5,000 people tend to have higher code quality than those created for fewer than 5,000 users.
"This research confirms a suspicion that many in the industry have long held – but that some in the agile community ignored: development teams that disregard architectural quality at the start of development are introducing serious business risk into their organisation," said Dr. Bill Curtis, the senior vice president chief scientist at Cast. "Our research shows that applications produced using traditional agile or waterfall methods alone have more security vulnerabilities, more reliability and performance issues, and a higher cost to maintain than those produced with a mixed method. It's time to take the religion out of software development and get back to sound software engineering."
I chatted with RealNetworks CEO Rob Glaser earlier this year, who was keen to stress the role that agile had to play in the company's resurrection. "We used to primarily develop software through the waterfall methodology," he said. "But what's happened in software development now is that agile and scrum have become much more common. I've become a big believer [in agile], having seen not just small projects but larger projects... being completed that way."
However, Cast executive vice president Lev Lesokhin thinks that there is a danger of companies placing too heavy an emphasis on agile working methods, simply because they see it as a way to get things done really quickly.
"There are quite a few organisations claiming they're agile, but aren't actually following how it was designed. Rather, they use it as an excuse to do whatever they want and crank out code quickly," he said. "Other agile organisations assume that the right architecture will emerge over time, only to run into problems down the line trying to re-factor the architecture with a growing code base.
"It's becoming increasingly important to secure your architectural quality and design before writing the first line of code."