Many TraditionalDevelopment practices have predictions of what is expected to happen in future at their heart.

There is a law of diminishing returns at play, the more complex, detailed or the further into the future the guess, the less likely it is to be accurate.

People will be asked to guess something in enormous detail, requirements, design and project plans are all predicted in order to avoid the CostOfChange.

Although there are times when one must make an educated guess, the aim should be to minimize the time-horizon and scope of the guess, and to attempt to find a way to verify, or disprove the guess as soon as possible.

Agile practitioners attempt to minimize their need to guess the complex ahead of time by limiting their dependency on predictions with techniques like IterativeDevelopment, YagNi and TheSimplestThingThatCouldPossiblyWork.

They attempt to minimize the risk of their guesses being wrong by verifying them early with techniques like: TestTheoriesWithSpikes, TestDrivenDevelopment, VelocityTracking.

AgileDevelopment is based on measurement not prediction.