Today, over at Inc.Com, Joel Spolsky of Pragmatic Programmer had an article called Fire and Motion, where he talks about getting your competition responding to YOU. It's a really good post that I think you should read.
When I was reading it, I was reminded of
John Boyd's OODA Loop, and all of a sudden, I realized WHY Agile/XP works. It's NOT the Agile Manifesto. It's NOT Pair Programming, or any of the OTHER tools. Agile/XP is a Tool to speed up your development teams OODA loop massively. One of the tenants of the OODA loop is that a GOOD decision, quickly implemented, beats a PERFECT solution delivered later.
Let's think of what XP/Agile has you do - Short iterations. Observe at what the client needs, and quickly fill that need. Not necessarily with a perfect answer, but something. Then ask the client "OK, Now decide how it needs to change", and then add that. Quick loops
Why I never thought of Agile/XP in terms of OODA before, I don't know, but it was a light bulb going off