Jerry Weinberg sums up a discussion on what is desirable in a requirements document with this statement:
The thing that I want most in a requirement (whether it’s in a document or in somebody’s head or gut, is understanding. I want to customer (goal donor and gold owner) to understand what it is they’re asking for, and I want the implementors to understand what they’re being asked to produce, and I want the two understandings to be the same.
So, as a means to that end, I want the requirements to be expressed in a mutually understandable manner, and I want the requirements process to be executed in a manner that demonstrates that understanding, and fosters it if it doesn’t currently exist, and corrects it if it slips away. As far as I’m concerned, any process that does this, any documents or whatever does this, is just fine with me. And any one that doesn’t, is not fine with me.
You can read the whole discussion on the AYE wiki here.
And, if you want to learn more about building an understanding of customer requirements, here’s my article on customer interviews.