This is one of my favourite quotes on requirements:
Most of us were taught to write down all our requirements at the very beginning of the project. There are only three things wrong with this: “requirements,” “the very beginning,” and “all.” At the very beginning, we know less about our project than we’ll ever know again. This is the worst possible moment to be making firm decisions about what we “require.”
From Estimation is Evil, Ron Jeffries: Signatory of the Manifesto for Agile Software Development