Today, I read an article “James Shore: The Decline and Fall of Agile” posted by Chris Sims at http://www.infoq.com/news/2008/11/decline-of-agile.
I really liked this part “James thinks it's not all the fault of Scrum, however, as each team must take responsible for its own success or failure. Many are choosing to adopt only the superficial, and easy, parts of Scrum such as short development sprints and daily stand-up meetings, while ignoring harder, yet critical practices such as reflecting and improving. Via this process, teams are empowered to identify and adopt the engineering practices that they need to deliver shippable software every iteration. Unfortunately, many teams fail to take this step.”.
I absolutely agree that team must take responsibility of their actions and results. To take this inference further, good team members (self-organizing types) will produce good results wherever they work. We can only create agile teams to the extent of resource allocation, their passion is their own and it cannot be forced to act in a specific way. Taking the Agile route we can enable those who want to (and can) perform.
It is not the decline and fall of Agile, but of those who are unable to understand the methodology. Those people practice what they believe to be Agile and when they fail, they blame Agile for it.
I have failed with Agile several times, however I learned something new every time. The only learning I pass on is that “you cannot go by the book”, that’s what Agile is all about. Also, Agile has to be XP and Scrum together, one without other leads to failures.
Agile is not one size fits all. I am of the opinion that Agile have a lot of good practices which have to be practiced and improved with experience. Methodologies have evolved over decades, the good things don’t vanish, they just change names and evolve for betterment.