This blog is no longer active, but this post has been retained for reference due to its continued traffic
Last week James Shore posted an article The Decline and Fall of Agile that generated quite a bit of discussion. He points out many of atrocities and failures in software development and software project management done under guise of “Agile” or “Scrum” are often not true implementations. You have these teams who say they are doing Scrum, but the only things that actually get adopted are sprints and scrums. So many of these failed groups ignore the important and difficult aspects of Scrum like self-organization, shippable product goals, and self-reflection & improvement. As Jason says, they are “having their dessert every night and skipping their vegetables.”
Ken Schwaber replied to Jason’s article:
When Scrum is mis-used, the results are iterative, incremental death marches. This is simply waterfall done more often without any of the risk mitigation techniques or people and engineering practices needed to make Scrum work.
The article also sparked Bob Martin to write an essay “Dirty Rotten ScrumDrels” in response to some of the Scrum scapegoating that has been going on recently. Check out the comments for some Uncle Bob-Shore dialog.
Things like self-reflection and process and work reviews are all practices that people naturally adopt to improve themselves. I think successful developers tend to do this anyways in order to stay ahead of the curve. When you have mediocre teams flailing about who are looking for a silver bullet and turn to things like Scrum who don’t already do this sort of thing, it is easy for them to brush that off as a triviality; if they haven’t already seen the value of it, it just gets lost in the noise.
I share Mr. Shore’s frustration in seeing Agile and Scrum being blamed for the shortcomings of teams and improper implementations, when you’ve seen the real thing work over and over.