close
close

Agile software development: is it dead or can it be revived?

Agile software development is a term that managers love and developers increasingly hate – so much so that quite a few people do it declared agile to be “dead.”

But whether Agile is truly past its prime—let alone dead—remains an open question. Here’s a look at the state of agile software development, why some developers believe it’s flawed, and how to improve it.

What is agile?

As you probably know if you are well versed in it Software development keywordsAgile is an approach to software development that emphasizes gradual and continuous change. It is the opposite of waterfall-style development, where application updates are released in large chunks and on an irregular basis.

The big idea behind Agile is that complex software projects run more efficiently when teams break them down into easily manageable pieces. Additionally, Agile proponents argue that this method benefits users because application updates appear continuously. Customers do not have to wait months or years for a new version that introduces valuable functions, but rather receive regular updates.

The history and current state of Agile

Agile began to become popular more than two decades ago when a group of developers introduced it Agile manifestoa representation of agile software development practices and benefits.

Since then, agility has been arguably the most influential method Software development trend of the twenty-first century. Agile serves as a foundation for other trending practices such as DevOps. Anyone who doesn’t practice some form of agile development today – or at least claims to do so – is often considered backwards.

Still, there are good reasons to believe that agility’s heyday may finally be over. Although recent survey data suggests that north of 70% of companies When we currently use Agile, a growing number of developers and industry observers now criticize Agile.

“I hate agile development because it has been adopted by management,” said one developer writes on Reddit. “Agile is bad for software development and I’m tired of pretending it’s not,” another States on Hacker News. Another Redditor writes“I fell in love with Agile early on,” but have since come to be against it.

Of course, it is difficult to draw firm conclusions based on qualitative evidence such as this. However, one can justifiably assume that quite a few people resist agility. We may not be seeing a full-scale revolt against Agile yet, but it’s not crazy to imagine such a thing.

Why people hate agile

Why exactly do so many people seem to dislike – and in some cases loathe – agile software development? There is no easy answer, but common themes include:

  • Lack of specificity: Many complaints about Agile emphasize that the concept is too lofty. Therefore, actually implementing agile practices can be confusing because it is rarely clear how exactly to put agile practices into practice. In addition, approaches vary significantly from organization to organization.
  • Unrealistic expectations: Some Agile critics point out that the concept leads to unrealistic expectations – particularly from managers who believe that as long as a development team is committed to Agile, they should be able to release features very quickly. In fact, even the best-planned agile practices cannot guarantee that software projects always meet the intended timeline.
  • Misuse of the term “agile”: In some cases, developers complain that team leaders or managers attach the label “agile” to software projects, even though few practices actually align with the agile concept. In other words: The term is now used very broadly, making it difficult to define what even counts as agile.
  • Excessive meetings and structure: Developers also sometimes complain that Agile leads to overly complex or demanding development practices. For example, as part of agile practices, it’s common to require regular “stand-ups” – short meetings in which team members explain what they’re working on. While it can be argued that standups are valuable for fostering collaboration, some developers view them as formalities that get in the way of productive work.

In short, much of the hostility towards Agile seems to come from developers who view it as a concept that reduces productivity and complicates their lives.

How to fix agile development

One way to respond to criticism like this is to declare Agile dead – which, as mentioned above, quite a few people have now done.

But this is a challenging position because it is not at all clear what would replace agile. Nobody seems to want to go back to the days of waterfall development, but nobody has proposed other real alternatives to agile development. Additionally, a retreat from Agile would also mean a retreat from related practices like DevOps, and it’s also hard to imagine people agreeing with this idea.

Instead, a better approach might be to strengthen agile practices. Exactly how this is done is up for debate, but an important step could be to define more clearly what agility means. Perhaps we need a new “Agile Manifesto” – or an addendum to the original – that includes concrete examples of what counts as agile. This would make it much easier to put Agile into practice and make Agile consistent across organizations.

Manufacturing Developer experience A stronger focus within agility could also be helpful. Historically, the main goal of Agile has been to increase the speed and efficiency of software delivery, not necessarily to make developers’ lives easier. But given the other types of investments companies are making in the developer experience – like Platform engineering – Adopting agile practices that not only ensure smooth software delivery but also ensure developer satisfaction and productivity could increase the adoption of agile concepts among developers in the trenches.

Conclusion: Revive agility

It seems premature to declare Agile dead. But there are clear signs that he is not well. Unless the development community wants to completely return to the days of waterfall – which I don’t think anyone does – now is the time to rethink the state of Agile and fix the problems that have made it so unpopular with a growing number of practitioners have.

About the author

Headshot by Christopher TozziChristopher Tozzi is a technology analyst with expertise in cloud computing, application development, open source software, virtualization, containers and more. He also teaches at a large university in the Albany, New York area. His book “For Fun and Profit: A History of the Free and Open Source Software Revolution” was published by MIT Press.