Monday, September 25, 2023

Is Agile becoming the new waterfall ?


Agile or Lean Development soundly emerged as the more practical and effective approach towards software development, beating the age-old Waterfall methodologies.


Today everybody follows agile and it's now even not the buzzword anymore, it's the only word there is. The de-facto methodology for software. Fame and becoming the mainstream, comes with it's own dangers though.

Early adopters and pioneers followed agile for a reason and with passion. They had first hand experience in rigidness and overheads of Waterfall. They understood why Agile is effective and embraced the spirit of it. They knew why they were using it and more importantly, what to avoid.

New followers on the other hand (at least a sizable portion of them) follow it just because it's the main one there is. They have no experience doing things the inflexible waterfall way. With this kind of followers Agile also can become like a religion. Sometimes religions are followed as mentioned in the scripture, out of faith, to the letter and oftentimes while missing the very spirit of it. Same is happening to Agile.

Ceremonies, retro, reviews, backlog refinement are followed as per the book. With numbers, faith and with unquestioning meticulousness. Spirit of Agile suffers a silent death at the hands of this heavy handed process and overheads.

When process overtakes the spirit, the very reason why Agile came into existence in the first place is being forgotten. 

Another common issue is that the high level business decisions are taken upfront, delivery dates determined and then forced onto development teams who then try to implement those in the 'agile way'. It is understandable that in some scenarios, we may have to work for a set plan, but following a plan is not the strongest point of Agile or what it is designed for. (check item 4 of the manifesto below)

What happened to the 'working software as the primary measurement of success' for instance ? Instead, we are once again embroiled in all kinds of metrics, numbers and what not. Success is more often and blindly measured by velocity or burndown, without a proper look at 'working software'

Let us read the Agile manifesto once again. Let's remember the spirit it was written in. Let's not allow Agile to become the new Waterfall !

Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan

This is what I signed for in 
24 Jun to 23 Jul 2005 I was among 49 signatories who officially embraced Agile in that month.
https://agilemanifesto.org/display/000000046.html

and here is the full (but fittingly very short) Manifesto: 
https://agilemanifesto.org/

PS : After writing this, I searched the web using the title of this article just to see whether there are similar thoughts. Turns out there are many. Following are two well written ones. (much better than my short rant here)