Or: Agile didn't invent iterative development
12 years ago, when I was having computer science classes at college, teachers used to tell us that waterfall processes were bad, and that iterative processes were a Good Thing. They told us we should do a little bit of requirements, then a little bit of design, then a little bit of development and a little bit of testing. Then you would evaluate the results, review your planning and start over. There was even this fancy little spiral to illustrate the concept:

The concept of iterative development wasn't new by then, way before people started talking about Agile methods. But if you read what many evangelists and bloggers have to say, you would think that Agile 'invented' the concept. You read all over things like "in waterfall, this and that happens, but Agile solves this problem by doing this other thing...". People seem to conveniently pretend that if you are not Agile, you are doing waterfall.
This is what I call the Agile fallacy: the false dichotomy between Agile and Waterfall, used as an argument to justify Agile.
As
Penn & Teller would put it, that's
BULLSHIT. Don't buy into this crap folks. Not to say that Agile is bad. Far from it. It is a Good Thing, and is a huge step forward in the field of software development. It brings in some fresh new ideas that will be around even when nobody is talking about Agile anymore. Also, I'm not saying that Agile is iterative development with a fancy name. That is an oversimplification made only by people who don't understand the existing Agile methods. But they are not the only alternative to Waterfall processes, and the alternative existed before Agile. Even RUP, the overly complex process framework that nobody seems to talk about anymore, which for many people is a synonym of waterfall, is actually iterative.

Now, why is the Agile Fallacy perpetuated? There are two kinds of people that defend it. The first group is what I call the
25 years old specialists. These are young people, fresh out of college, who are very articulated and smart. Those people are well intentioned, but they probably have never seen anything other than Agile in their careers, so they just inadvertently perpetuate the lies that are spread by the second kind of people, the
Unethical Agile Salesmen. These are the ones who lie to make their sales pitch look better just like a used car salesman will lie to you about the defects and quality of a used car to make it look like a hot offer. It is important to note, though, that I don't want to make generalizations. Like in any other field, Agile has ethical and unethical professionals, and there some very
credible people in this field.
Why am I bitching about the Agile Fallacy so much? The first problem I see with it is that it takes away the credibility from the people who defend Agile, and I think it is one of the biggest problems of the field today. There are just too many Agile snake oil salesmen around.
Another problem is that in this world of sotware development, there have always been the hot idea du jour. When it comes, it seems to be the Holy Grail of computing, the thing that came to solve all our problems. People embrace it and bet their success on it. Then after some time people will realize the real qualities and flaws of the new idea, and their disappointment is equivalent to the amount of passion that they had when they embraced it initially, and will dismiss that now not so new idea completely even though it has some legitimate good points. Agile has been the Holy Grail for some time now, and it won't be long until people realize that it is not perfect. To a certain extent, it is already happening, with people saying that Lean software developmen is the new Hot Idea and came to replace Agile. This is also a false dichotomy but is a subject for another article. But what happens is that after the period of passion people will notice the fallacy and it will work against Agile this time.
To avoid this trap, always be skeptical. If you take a skeptical point of view from the beginning, you won't be disappointed later. And better, you will be able to enjoy the real benefits of Agile.