Thursday, December 06, 2007

The Why Behind Agile Movement

I read "Agile Software Development Ecosystem" book not long ago. There's a good answer on a question : why it (somehow) works?. The reason lies behind the nature of software development.

Developing software is creative process. Despite there are a lot of tools, languages, components exist today does not make it a deterministic process and it will probably won't be in the near future. There's no step-by-step way to make a software that is guaranteed to produce working program. Every project seems to always pose significant amount of uncertainty.

I find it interesting the book called this kind of activity as Exploratory, creating ways and new mechanism, as opposed to Optimizing problem which deals mostly to enhance existing mechanism. Exploration problem is the problem where unpredictability is common and changes is nothing special and are welcome to happen any time. The strategy then is to spend effort to be change-accomodative instead of wasting it on trying to avoid the unavoidable change. Using optimizing activity to exploration problem is not a best fit.

Agile methodologies proposes things that makes development team could response to change more effectively. It seems the most suited way to deal with software development for now, at least until software development can become something more or less mechanistic, which is less likely to happen anytime soon.

No comments: