A quote from Pulitzer Prize winner Matt Waite (National reporting prize for PolitiFact):
If you’ve never participated in a software project, a requirements document is a list of everything your app has to do. They are usually written by people who aren’t developers and usually come out of meetings that have very little to do with what users want or is technologically feasible. What bothers me about them is that requirements documents remove large swaths, if not all, developer creativity from the process. PolitiFact succeeded technologically because the guy with the vision and the guy who could build it worked together. We went back and forth, both with ideas, iterating through the development. Form and function were blurred together. Requirements documents say here’s what we want, go build it and nothing more. Thinking that way means never being any better than your document.
Go and read the whole post. It’s worth it.
PS.: I tend to disagree with the Matt on the following: Matt says: “One of the best books I’ve ever read is The Myths of Innovation by Scott Berkun.” I’ve read it too (last holiday) and it scored “good” on my personal scala, but not “terrific” or “one of the best books i’ve ever read”.