I think the statement that struck me the most when I was on the Certified Scrum Master course was:
The start of the project is when you know the least about what you're doing
Which of course is absolutely true.
So why do we come up with extensive requirements, detailed design, and fixed plans at this point of time? We haven't put anything into place yet, we haven't played with the code, the customer hasn't seen anything of what we're promising to deliver.