Mention the word Agile to anyone in software development and you’re likely to get a strong reaction. The person will either jump down your throat if you even merely hint at suggesting at implying that it may not be absolutely, completely and without a doubt the most perfect way to manage a project EVER (blessed by the programming gods themselves). Or, perhaps the person will roll their eyes and prepare for a sermon (having been on the receiving end of one too many). These reactions are so strong that I’ve taken to “not talking about it”, the same way I stay away from talking politics or religion while drinking in pubs:
“them’s fightin’ words, boy!”
Of course, there’s more than just a little irony in the fact that “doing lots of planning before you start coding” has somehow become a laughable thought (you know, the idea that changing a Word Doc is easier than ripping out code if you change your mind early in the process). How did this happen? Perhaps in another post.
Anyway, I came across this post by Steve McConnell recently, about Agile – the pluses and minuses. Minuses?! What?!
Steve is thought to be one of those programming gods and as usual, his articulation is top notch. He seems to have a balanced, non-partisan view of the whole thing. He goes on to suggest that certain styles of management are more applicable to certain environments, but less applicable to others (commercial software development being one he mentions). Very similar to my own thoughts, though I marvel at Steve’s ability to boil a complex topic down to its essential elements. It’s tough to argue with the guy.