Before we get too involved here, or at least before you decide to stop reading I need you to understand the single most important part of Agile work. Ready... It's OK to be wrong. Shocking isn't it? Just say it out loud... It's Ok to be wrong. Oh the liberation of it.  Under all of the Agile principles & practices lies this quiet little gem... It's OK to be wrong. I just can't say it often enough.

Sure we do things like short iterations and risk management to reduce the number and impact of errors, and we need to keep doing them. No matter how we slice it, reduction isn't, and will never be, elimination. Mistakes will happen ranging from simple logic errors or errors of omission all the way up to and including negligence. We are fallible, but Agile values people, even the ones who make mistakes.

Software development is a journey of constant discovery & validation. It's structured chaos, organic symmetry.  A good Agilest, knowingly or otherwise, doesn't fight it but instead surfs the wave until it brings them to shore. It's a good analogy.  Ever see a surfer who didn't get wet?  No.  Me neither.  Even the very best software organizations get surprised once in a while.  It's not wrong; it's simply the nature of things.  Adapt, overcome, one might even say be agile.