Perhaps you have seen the XKCD comic (http://xkcd.com/386/) where the guy is stuck in front of his computer typing furiously away. His partner/wife/whatever asks him to come to bed and he says, “not yet, someone is wrong on the internet!” This article arose from one of those situations. It’s a bit of a rant and was written quickly. Here it is in all its rough glory!
There is a book review of “Becoming Agile” by Smith and Sidky on Slashdot (http://bit.ly/MIg3to). I haven’t read the book (yet) so I can’t comment on the book nor on the review. However, I did want to comment on the comments of Slashdot users. Their experience with Agile methods seems to be terrible. Either that or they are incredibly ignorant and have pre-judged agile. Since I know that (most) Slashdot users are pretty intelligent, I’m going to assume that they have mostly just had really terrible experiences with agile.
The Agile Manifesto values “Individuals and Interactions” over “Processes and Tools”. Many of the comments were about Agile being used as a cudgel to beat teams into submission. No matter what anyone says, this is not agile. This is perverted Agile or “Pervagile”.
Pervagile is common. Scrumbutt (http://bit.ly/Ml4sDY) is one form of Pervagile. Waterscrum (http://bit.ly/Q7BDwZ) is another form of Pervagile. Scrummerfall is yet another. But there are many other forms as well: the Pervagile Sweatshop where teams are forced to meet arbitrary scope in one week deadlines, the Pervagile Common Room where people on many different projects are forced to work in an open space, and the Pervagile Silo Team where only developers are doing Agile and everyone else is in their normal functional silos.
On Slashdot we see some interesting comments like this one (http://bit.ly/MIC4sf):
So we’ve gone from over-designing systems to under-designing systems.
How about right-designing a system based on the complexity of the scope and the key personnel involved?
Is that crazy?
No, it’s not crazy, and that’s what Agile is trying to help us to do. Pair programming, test driven development, potentially shippable software, continuous integration, Agile modelling are all Agile practices that help us “right-design” a system. So this person must have experienced a team doing Pervagile Minimum Discipline where all good practices are not just done in small bits along the way, but actually ignored. I’m not sure why they ignored doing good incremental design – perhaps someone told them that Agile doesn’t require good design skills on the team!
Here’s another interesting comment (http://bit.ly/MICdf3):
The PyPy project is very “agile”. They have “sprints”. They have “flexibility”. They have nightly builds. They have mailing lists and trackers. They support multiple output back-ends. They have about 50 contributors. What they don’t have is a usable product.
Hmm. Sounds like they’re trying to do Scrum. But they’ve missed a pretty critical piece: potentially shippable software at the end of _every_ Sprint. I have no idea why they aren’t able to do that, but I imagine that if they really understood Scrum, they would be in a much different place at this time. This is a clear case of Pervagile Valueless Deliveries where the team does stuff every iteration, but they don’t worry about delivering valuable results.
So. Pervagile is pervasive. That’s clear.
Why is it so pervasive? There are two parts to this: one, Agile is hard and two, Agile is mistaken for a silver bullet (http://en.wikipedia.org/wiki/No_Silver_Bullet).
Agile is Hard
Okay, I’m actually being a little dishonest. The real truth is that doing Agile is extremely, exceptionally, agonizingly difficult (for most people in most organizations). Why? Because Agile is not just another process to roll out. It is, as has been mentioned in numerous places, a deep cultural change. Agile is actually a liberation movement for people involved in software development. Like most movements, however, it has been subject to corruptive forces.
Agile is Mistaken for a Silver Bullet
Agile is Hard, and therefore it cannot possibly be a silver bullet. Many executives and managers hear about Agile and want to do it in their organization because they have heard the amazing success stories (yes, they do exist – scroll to the bottom to learn about Wildcard Systems here: http://bit.ly/NzJDly). But what often is not effectively communicated is how much crisis, how much effort, how much radical change went into these success stories. Here’s a hint: if you think a large organization can become Agile in less than five years, you’re fooling yourself.
Even a very small organization should expect at least two years of solid effort before the changes really take hold. Of course, if you are lucky enough to be starting from scratch, then you might do better than this.
I’m pretty tired of people misunderstanding Agile methods. But unfortunately this is the reality of our work landscape. I would love to work with a client where the CEO has said something to the effect of “I’ve budgeted 10% of our operations and ten years to do our Agile transformation.” Of course, that’s pretty much a laughable wish. Unfortunately it’s the reality of the effort involved for most organizations.
[This article was originally published on Agile Advice on 16-Nov-2009]
If you find this useful, please consider contributing with our
“Value for Value” model.