For some reason agile methodology became a hot topic last week. Many new postings in many blogs were discussing the merits and the shortcomings of agile development, and many old posts on the same topic got promoted to the first page on sites like DZone . Many people were criticizing Agile, and many were defending it.
I, personally, have no experience doing Agile, and, therefore, I am in no position to criticize it (though I find many of ideas and methods of Agile contradicting my own experience and common sense in general). But I also want to add my 2 cents to the discussion.
I will not talk about Agile being better or worse than Waterfall or any other methodologies. I will start with one simple statement: methodology is a tool. It’s not a religion, not a science – it’s merely a way to organize production. But there isn’t such a thing as “universal tool” – every tool is good for something, and is bad for something else. There are exceptions – tools that are bad for everything, but in case of Agile this is not the case, since we’ve read some success storied, and I don’t have any reason to call the inventors of Agile liars.
What that means is – it’s absolutely useless to discuss whether Agile is good or bad; instead Agile users (both haters and lovers) should spend their effort on analysis of their stories, in order to understand when Agile is good, and when it is bad. I am absolutely sure that for certain types of projects (or teams, or environments, or combination of those factors) Agile is a blessing – and for certain others it’s a curse.
Technorati tags: Agile, Software Development