Agile software development has massively increased in popularity over the last decade. Scrum, in particular, has attracted enormous attention. That’s the good news.
The downside shows itself when teams adopt agile methods and cut corners. They skimp on training and coaching. They leave out techniques they don’t like. They add elements from waterfall that are “missing”.
Then the inevitable happens — the project results fail to meet expectations. Agile and Scrum methods take the blame.
Software Development Is Not Easy
The approach you select for software development is not as important as your commitment to it. Any approach requires a large investment in time, money and people. If you are willing to make the investment, any approach can work.
Will an agile approach work better for you? Maybe.
Agile techniques work best when the team is building something new and the risks are significant. Agile, when done properly, is very good at minimizing risk. It is far better to fail fast and early than late in the process. Sure, the cynics will argue that it is better to not fail at all — just like waterfall, right?
Conversely, if the team is well-versed in the solution and the risks are few, waterfall may be a better option. A highly-skilled team enhancing an existing application may be better served by waterfall development.
Pick an approach that makes sense to you. Don’t condemn agile development if you cut corners or morph it to fit your command-and-control structures. Give it a fair chance or just stick to waterfall.