I was in an interesting discussion on one of the Scala mailing lists last week, and we wound up off on a tangent about "Agile". My correspondent described how he strongly dislikes Agile, and why -- and the interesting thing to me was that his definition of Agile not only didn't match mine, it was in some ways directly *contradictory* to mine.
I've been starting to realize that, 15 years into the process-management revolution in software, the term "Agile" has become ever-squishier. This hasn't been helped by management consultants who sometimes spout complete nonsense, or more often take a specific dialect of the idea and say "This is what Agile means".
So here's a quick question, aimed at my many techie friends: what does the word "Agile", in the context of software development, connote to you? What are the two or three *most important* aspects of it? I'm not looking for answer just from the experts here -- I'm at least as interested in the viewpoints from the people who have only been reading about it in the trade press or blogs, and what impressions you have gotten. And I'm curious whether the viewpoints and priorities differ between, eg, the programmers and the project managers.
(I have strong opinions about this myself, of course -- I've been an active proponent of some of these ideas from almost the beginning. But I'd rather hear your viewpoints first, before I spout off...)