I've often said "People don't know what they want until they see it, and then they know what they don't want". Sad as that may sound, it's often all too true. Project teams can spend months creating detailed requirements to clearly identify what's being asked, create pages of design documents, get them approved, and deliver exactly as planned, only to miss what the customer really wanted. Even more often, the market shifts and we find that our well-thought-out, well-defined, well-planned effort fails to yield the results that were expected.
Agile acknowledges these truths, and builds in planning as a continuous effort, allowing companies to refine their product or technology to meet changing market needs. Rather than waiting years to define, design and build a product, agile teams work in short cycles designed to reduce the time to market for a new feature or product. What's even better is that we can then rapidly assess the customer's response to these features and adjust as needed to meet their needs.