Just as the Indian subcontinent has its Hindu's, Christians, Buddhists and Jains, software application development has its many methodologies from Scrum, to Extreme, to Waterfall, to Rational Unified, to Agile.
But, for software development, which is best?
Thankfully we don't have to choose a single definitive process and (generally speaking) we can apply different methodologies to different development environments and use cases.
So what's the problem?
Agile development seems to have received more than its fair share of media attention in recent years. Yet it is still sometimes criticised for not being "robust enough for serious organisations" from time to time. Other comments suggest that it may get a project started off rapidly, but ultimately in the long term it's more costly.
Martin Cheesbrough is CTO of financial services and energy trading software development company Digiterre. Cheesbrough maintains that the problem here may be that some organisations simply don't understand Agile.
A home truth -- unlike other approaches, Agile doesn't come with a weighty 300-page book of what to do, and what not, to do. Instead Agile is based on a set of guiding principles that fit onto one sheet of A4.
"Problems often occur when 'process-orientated-people' think that delivering a project using Agile involves following an 'Agile process'. Agile advocates a little and often approach with the development team given complete autonomy over their tasks. The feedback loop is ongoing and concise. This ensures that you stay on track and collaborate but also guarantees that the project keeps moving and remains relevant to the business. That's the theory - and it makes perfect sense. But when putting it into practice something seems to break down. Agile isn't about becoming a slave to process; instead it concentrates on getting the most out of the development team and playing to each person's strengths. Smart, creative individuals that are able to break out of the process mould and embrace the Agile philosophy are fundamental to its success."
Cheesbrough suggests that just because Agile is light on supporting paperwork that it is deemed insubstantial, lightweight and risky.
"Agile tools and techniques promote transparency and expose how the project is developing each and every day. This means that any bumps in the road can be smoothed out before they become obstructive to progress. Companies such as Flickr are demonstrating that little and often improvements negate the need to get bogged down in ongoing projects. Each day the site makes small changes that enhance the service it offers. Isn't this the flexible IT environment that will power the businesses of tomorrow? It's been a long time coming, but the revolution engulfing IT to make it faster and better is demanding significant changes to development. Say goodbye to prescriptive process and hello to the more free thinking future of development."