Is it Blasphemous to Criticize Agile?
This is how I was planning to start my post …
“…believe me … I do think agile works … in most … well if not in most cases then in many cases. That by implication means it is not a silver bullet for all situation. In fact, no technique, no methodology, no solution can be applied all situations and agile is no exception.
However, I have noticed a tendency among agilist to proclaim that if agile has not worked in a specific situation then the fault lies squarely on improper usage rather than any limitation of agile. All you have to do is apply agile properly and it would work. Who is to say what proper agile is? Agile manifesto does not help in determining what makes agile agile. Conversely, how do we judge what agile is not…”
…but then I saw this – Agile’s Teenage Crisis?. It provides 20 point criticism of Agile and how it is practiced. It is nice to know that the thought leaders are thinking about the same issues.
I don’t want to list the points – you better read the post.
However, there is one point that has been bothering me for some time and it is not fully addressed in the 20 points mentioned.
The point is about “Continuous delivery of valuable software”. Can we compare this to “CEO working to create value for shareholder”?
Do you see any similarity?
Both focus on the short term. CEO focuses on the next quarter result and its impact on stock price. They assume that anyway on the long term everybody is dead. This post nicely summarizes the dilemma of the CEO.
However, visionary CEO’s will always balance the short term and the long term.
Agile developers concentrate only on the current sprint and assume that if there is any architectural problem later code refactoring can take care of it. Big upfront design is frowned upon. Similarly if the agile team has experienced developers who can visualize the impact of every design decision things generally work out.
However, are all developers all so experienced that they can intuitively figure out what the right design is? How about the need to debate, introspect and visualize the impact of any design decision? Can it be done it your focus is always on delivering the next user story and how much business value it delivers?
“…While agile practices could help control technical debt, they are also often at the root, the cause of massive technical debt…”