The Agile Manifesto was written over 20 years ago and according to some it's age is starting to show. After all, 20 years in IT should be a good approximation of eternity given the rate of change in the industry...
In 2017 Kurt Cagle, a veteran IT expert, Forbes Innovation columnist and self-proclaimed "Futurist, Technologist, Information Architect, Blogger", wrote an article The End of Agile that sparked quite a bit of controversy and a massive feedback on social media. In the article he comically compares a daily scrum session to a religious cult where members confess their sins while passing on the holy hockey stick from one to another:
I knew the end of Agile was coming when we started using hockey sticks. Every morning, at precisely eight o'clock, the team of developers and architects would stand around a room paneled in white boards and would begin passing around a toy hockey stick. When you received the hockey stick, you were supposed to launch into the litany: Forgive me, Father, for I have sinned. I only wrote two modules yesterday, for it was a day of meetings and fasting, and I had a dependency upon Joe, who's out sick this week with pneumonia.
The scrum master, the one sitting down while we were standing, would duly note this in Rally or Jira (I forget which), then would intone, "You are three modules behind. Do you anticipate that you will get these done today?"
"I will do the three modules as you request, scrum master, for I have brought down the team average and am now unworthy."
"See that you do, my child, for the sprint endeth on Tuesday next, and management is watching."
The hyperbole goes a long way to prove the point that Agile and Scrum has a strong resemblance to religion with its own dogmatic "truth". Defendants may argue that the way Agile is taught and practiced is not always true to the tenets of the Agile Manifesto but this just further drives home the point.
In the deluge of comments a few were constructive and Cagle chose to publish one made by Scott Heffield (VP of Veracity Solutions) on his own blog: The End of Agile: A Rebuttal. This rebuttal from Scott does not really go into the details of contradicting the argument Cagle puts forth. Instead it only says that what Cagle describes is not what he has experienced, goes on to quote experts of the Agile pantheon like Martin Fowler and Alistair Cockburn explaining why Agile is great, and the he concludes by pointing out that Cagle was not there to sign the manifesto like said experts, which somehow should be construed as a reason for his argument to be false.
Right. By appealing to personal experience, experts and not actually addressing the argument per se, Heffield just helped kill Agile himself and even buried the corpse by sounding like a religious zealot.
Cagle does not say that everything with Agile is wrong. His main point is that Agile was created in a different context where developers where struggling with a different set of problems from today. Most projects at the time when Agile was conceived dealt with vertically integrated projects where the final, end-user facing application was responsible from everything from the UI to the database. Also they were typically short with a duration up to six months or so. There are entire classes of projects where Agile does not work well.
In particular he highlights enterprise data projects that he sees reflecting a paradigm change in mainstream application development. Projects in this space are typically not time boxed but ongoing, they have an emphasis on data modeling, are not client facing and require minimal custom development. Instead of the vertically integrated projects of yore, applications today are more and more a conduit of a stream of data with mainly a thin presentation layer.
Cagle concludes the original article with
While aspects of Agile will remain, the post-Agile world has different priorities and requirements, and we should expect whatever paradigm finally succeeds it to deal with the information stream as the fundamental unit of information.
So, Agile is not "dead", but it is becoming ever less relevant. There's something new forming (topic for another article, perhaps), but all I can say today is that it likely won't have hockey sticks.
In a follow-up article posted a week later he expands on just what could replace Agile as the next big thing in software development: the Studio Model. He even proposes his own manifesto.
While the manifesto does not read as well as the original it strives to replace, it still makes some good points about the short comings of Agile.
Yet, there are two key sets of problems that the Agile community faces. The first, and foremost, is that it decentralizes responsibility too much - it essentially punts on the whole issue of governance or editorial guidance. This is that whole vision thing all over again. Most people see editors as quality control people, but editors are actually stewards - they are people who serve to establish, preserve and modify a particular vision, and their role in that regard is roughly analogous to the movie director or software architect as given above.
In the Studio Model he sets movie production and other IP rights development as an example for software development. Here the creative vision is key and is used to guide developers across teams, thus addressing some of the challenges when doing Agile development. Instead of the Agile catch phrase of "fail fast" he emphasizes flexibility and the minimal viable product is not considered something good as the value is an emergent property that comes from the larger ecosystem.
Since the origianl posts in 2017 Cagle has written a follow up article on the Studio Model: When Does The Creativity Happen? Design, Agile and the Studio Model
TL;DR
- Agile is often equated with Scrum and has started to become a religion in the enterprise context.
- While Agile has benefits some of the basic ideas of adapting the frameworks and methodologies to the task at hand has been replaced by dogma.
- The context of main stream software development has changed and some of the Agile tenets may have to be revisited and adapted to our times.
- Modern development requires curation and people with a strong vision such as software architect.