Twenty years ago, when most software came in a physical box and the Web moved at a (relative) crawl, Waterfall methodology dominated development. Teams would take their sweet time establishing requirements and coding, because they often had one shot at getting the final product right (or at least “right enough”).
But in recent times, Agile methodology has come to dominate the development landscape. Advocates of Agile argue that, for all its sturdiness, the Waterfall methodology has some stiff drawbacks; if one thing goes wrong in testing or integration, or if the user requirements change drastically, the project risks annihilation.
Agile, by contrast, is supposed to give developers some much-needed flexibility in a rapidly evolving world. By breaking development into a series of sprints and small goals, refined via frequent feedback loops, Agile is meant to evolve to a project’s changing circumstances.
However, some developers argue that Agile still has its issues. In a famous blog posting from 2015, Andy Hunt (one of the 17 founders/authors of The Agile Manifesto, which kicked off the Agile movement in 2001), argued that developers aren’t adaptive enough to execute fully on the promise of Agile. “Agile methods ask practitioners to think, and frankly, that’s a hard sell,” he wrote. “It is far more comfortable to simply follow what rules are given and claim you’re ‘doing it by the book.’”
(Hunt advocates for a system he calls GROWS, or Growing Real-World Oriented Working Systems, in which software development responds to real-world feedback until the product actually works; it is, in many ways, what he and the other authors originally intended for Agile way back in the day.)
Whatever a development team’s method of choice, a new developer survey by Stack Overflow suggests that Agile is winning the methodology “wars,” with 76.9 percent of 25,771 respondents saying they used Agile; meanwhile, Waterfall sat in fifth place on the list, with 26.9 percent. Scrum came in second (with 65.2 percent), followed by Pair (42.8 percent) and Kanban (34.8 percent)
(Stack Overflow’s numbers total well over 100 percent, of course, because developers rely on multiple methodologies when building software.)
“Agile and Scrum are popular methodologies for developers to keep their projects on track, and 42.8 [percent] of developers have used pair programming to improve their code quality and skill set,” Stack Overflow wrote in the note accompanying its data.
What does this mean? Despite some complaints over implementation, Agile continues to rule, while Waterfall lags. While this might not settle the “debate” that some might want to have over which methodology is “better,” it certainly does provide some grist for discussion.