Friday, June 15, 2007

What is this Agile Programming

Everybody talks about it. Everybody thinks this is going to be the next process mantra. The clients ask about it. Some even demand it.

But what is this all about? Better coding? Better implementation? Something that would make life easy?

God knows, of course. And known by some geeks. Did you ask for a design document? Sorry, it's agile programming, no design will be documented. Did you ask to demo the application? Yes indeed, see these buttons here, and links there. Nothing is functional, but that's what agile programming is. Are you worried about costs? Who cares, this is about agile programming, not cost control anyway.

What the **** this agile programming is? This was my first reaction to the answers quite some time back, when I encountered about Agile Programming. Over the period of time, I learned some by reading writings by different self-proclaimed agile gurus, and while visualizing my own projects from those perspectives. The best definition obviously came from Wikipedia: Agile software development is a conceptual framework for undertaking software engineering projects that embraces and promotes evolutionary change throughout the entire life-cycle of the project.

And then, Wiki says there are many methods in the name of Agile Programming. In the next a few blogs I will try to describe my understanding of agile programming, and where it fits well and how much better it actually is comparing to its tall claims.