Saturday, November 29, 2008

Does Agile Mean Anything Anymore

Having revisited Steve Yegge's post way back about Good and Bad agile, it got me thinking again.

Steve is absolutely right that its much more about *being* agile (with a small A) rather than blindly *following* any one of the Agile methods. Somehow, I suspect that many of the early thought leaders would agree. However it is valuable to use names, monikers, labels what ever you want to call them to describe concepts so that like minded folk can also share the good ideas. Back in the day before the moniker was invented, many different kinds of methods were being used to successfully deliver software. At the heart of the successes were developers who had strongly held beliefs (values) that tie in with being agile, oftentimes, bending and breaking the rules of the incumbent process to deliver in spite of it.

There have been a few discussions about the value of SCRUM recently, possibly as a reaction to the marketing and certification hype that SCRUM seems to be generating. As a part of what you do, its not inherently good or bad - but will it make you agile in its own right - of course not. All methods, tools etc are ways to make money. What really makes a difference is the wet-ware between the ears that you employ to sit behind a desk and craft working software. There is money to be made in all the processes, methods and tools out there. The next time someone visits your company to sell you the latest fad, ask yourself one thing - why don't they want to present it to a developer audience? Because developers will see straight through the marketing hype and dismiss it for the costly distraction it probably is. Not to dismiss all products, but let the developers make the choice - after all they are the ones responsible for delivering working software.

People over process - its all about state of mind, values, culture. Its much harder to change these things than to just pick a method off the shelf then blame it when it adds to the long line of project failures.

I intend to focus on the promotion of agility as a way to share its culture, values, principles and practices, rather than specific methodologies. Its not that I think there's anything wrong in any of the methods per se, its just that they're not the things that really distinguish agility from other approaches.

Even if people agreed with this viewpoint, I don't think it would change a damn thing. Many people don't want to change, cultures are built up over years and centuries and entire disciplines have grown around doing things that don't directly contribute towards the goal of creating valuable working software.

1 comment:

Paul said...

You choice of language is perfect! I can tell you've given this a lot of thought.

You really need to submit this to InfoQ. A wider audience needs to here this.