I'm often asked "what is Agile Development?" I've never really been sure how to answer that. Some people say "well, it is the 4 values defined by the Agile Manifesto." To me, that's too vague. The four values are fairly philosophical in nature and pretty far from business benefits or in the trenches implementation. I tend to start any discussion of Agile by talking about the benefits. It seems to me that these benefits are fairly widely agreed upon as the following.
In comparison to "traditional development", Agile provides the benefits of:
- More flexibility/options
- Higher ROI
- Faster realization of that ROI
- Higher quality
- Higher visibility
Recently it occurred to me that this also serves as a good definition for Agile. That is, Agile development is that which provides the above benefits. I like this definition because it doesn't require a discussion of specific practices, yet it is also straightforward and concrete.