This is the last of the agile myths I’ll be covering, and it is the most controversial. There have been many articles published, for quite some time, claiming that agile is dead. I think these articles are actually claiming different things. Some of those things are right, but many of them are wrong, and many of them are unimportant, even if they are right.
I think the people claiming that “Agile is dead” are saying one of a few different things. I’ll go through them in turn.
The “something else” in this line of thinking is usually DevOps. Now I’m not a black-belt expert on DevOps, but from what I know about it, it seems great, and a great fit for agile. But it’s not a replacement; it’s an addition. Agile tells you how to take ideas in people’s head and turn them into software in a development or testing environment. That is, to get it ready for production. Remember the definition of Continuous Delivery? It’s to get software in a state where it can be pushed to production at any time. DevOps is about a few things but mainly optimising that process of getting the software into production. It doesn’t replace Agile. And I would say very few organisations are actually doing DevOps properly at the moment (much fewer than are able to do Agile properly). So I don’t think this claim possesses much truth.
Other “something else” could be CMMI (not a software methodology), Waterfall again (really?), or Lean Startup. Now don’t get me wrong, Lean Startup has some really good ideas, but again it is not a software development methodology, it is a product management methodology. Product Management is about finding product-market fit, i.e. choosing what to build. Agile is about finding the best way to build that product that you have chosen with your product management methodology.
Like DevOps, they (Lean Startup and Agile) work together well, instead of replacing each other. Identify your product with Lean Startup, build it with Agile, then deploy it with DevOps. That’s basically what successful startups these days are doing.
This is a very strange line of thinking. Lots of organisations are trying agile and having some kind of success with it. In fact, agile (in some form) is now the main methodology of software development around the world. Now there have definitely been some agile failure stories. But that shouldn’t be any surprise. Agile is not a silver bullet and nobody said it would be. Agile doesn’t guarantee success. It makes failure happen faster and more visibly. Waterfall projects fail a slow, torturous death.
The critics love to point out stories of big horrible agile failures, but there are plenty (just as many if not many, many more) stories of big Waterfall failures. Does that mean Waterfall is garbage? Certainly not. I actually think Waterfall can be a good way of working for certain projects in certain contexts. But it shows that cherry picking examples is not helpful and is usually a symptom of deeply entrenched confirmation bias.
This is probably what most people mean when they say “agile is dead”, and it has the most truth behind it. The line of thinking basically goes:
There is actually some truth to the above statements. Agile has indeed become one of the “cool buzzword” things that organisations around the world suddenly want to be seen to be doing. There are a lot of organisations peddling weird pseudo-agile crap. And most importantly, there are a lot of organisations doing agile badly. But you know what? There are a lot of organisations doing Waterfall badly too, but nobody is running around saying “Waterfall is dead!”.
Waterfall certainly isn’t dead and neither is agile. They are both neither dead nor alive: they are both approaches, which have some weaknesses and some strengths, and can be done well or be done badly, and are well suited to certain things and badly suited to other things.
People haven’t suddenly stopped doing agile. They’re trying to do it. Some are doing a better job of it than others. And some are getting more success out of it than others. Some are using it more appropriately than others. We’re all trying and we’re all learning.
There is an unpleasant smugness about the “agile is dead” camp. They remind me of the detestable music genre purists who were around “at the beginning” of a music scene, who remember what it was like “when it was about the music”, who look back with rose-coloured glasses, and deplore all the “scene kids” who have “ruined it for everyone” and don’t understand “what it was all really about”.
SAFE is basically scrum scaled up for large organisations. Scrum was meant to work in small teams working at small companies. There are difficulties and unanswered questions about how to get it to work in large organisations. Some people have come up with a system called SAFE which has meant to solve this. SAFE is a controversial can of worms which I will leave unopened for now. But suffice to say, whatever the problems with SAFE are, they are specific to SAFE and don’t bear on the health of agile software development.