Agile Development
Last updated: 2007-10-16 00:00:00
Well, you might be asking, what the heck is this Agile stuff I've heard so much (or little) about. Or maybe not.
What is Agile about Agile Development?
There have been a number of project management methodologies devised over the last 40 years or so, with varying levels of success. I've worked on a number of projects and seen a great variety of these methodologies - most of them only marginally successful, if successful at all - except one. Can you guess which?
You are right. At least in my opinion, Agile Software Development comes closest to being a successful management approach to software devleopment
A good, one-sentence definition
Currently, my favorite short description of Agile comes from Scott Ambler: Agile is an iterative and incremental (evolutionary) approach to software development which is performed in a highly collaborative manner with "just enough" ceremony (process overhead) that produces high quality software in a cost effective and timely manner which meets the changing needs of its stakeholders.
A little history
In the 1990's a number of people were independently experiementing with various lightweight approaches to software development. They were also communicating with each other and writing about their discoveries and ideas. In 2001 some of these people gathered to discuss the similarities of their ideas and approaches. They agreed on a set of values and principles that were the essentials of their thinking, and coined the term "Agile". You can find the values and principles they defined at www.agilemanifesto.org
