If you do any amount of reading today on current topics in software development you’ll find a growing community for agile development methods in addition to those using the more traditional waterfall development method. Large and/or older corporations tend to use the waterfall approach to software development because that was the standard that grew from process maturity over the last 30 years. Small and/or newer organizations
tend to have some form of an agile method because they must produce software quickly to survive.
Some people live in an environment that practices waterfall but likes to talk in the terms of agile development. That’s the big corporation. There are lots of stakeholders involved and an established process built through decades of use. While it’s acceptable to talk about process maturity and the consistency that it brings to the software development team, the time it takes to complete release cycle is often ignored. So stakeholders use terms like “agile”, “nimble”, and “iteration” as a way to describe an ideal and make it look like the process is moving on an express route. Those familiar with agile development techniques would consider this a Jedi mind trick for sure.
As I see it, the waterfall method of software development is like a Big Bang approach. Whereas the agile development methods are like an evolution approach. The Big Bang approach to software development is challenged to keep up with B2C software for personal computing devices, mobile devices, and the Internet. The Big Bang approach may work for B2B software where businesses are not as constrained by competitive forces and speed to market. But its the evolution approach to software development with quick bursts and incremental improvements that win-out in the B2C world. Amazon, the leading retailer on the Internet doesn’t release features in a big bang approach once a year. It’s a steady stream of small incremental changes based on what they have learned works and doesn’t work to generate revenue. Need other examples? Check the blogs for Google, LinkedIn, Evernote, etc. and see how they consistently make incremental changes to their products.
The Big Bang approach is useful when the number of competitors are small, when you must receive approval from a large number of users before making changes, or when the users are not part of the market segment of early adopters. This fits many B2B client setups. I’d use terms like mature, risk adverse, and thorough to describe this approach. But let’s be fair. It’s not agile, nimble, or iterative. Those terms are reserved for those that practice a true agile development method in a more evolution like approach.