When reviewing requirements specification (that includes functional, non-functional requirements, constraints etc) however small or large it is what are the "deadly sins" committed by authors to look out for?
Please list not more than 7 most essential things (in order of decreasing severity) that being done (or not done) in requirements specification have adverse effect on the quality of software product. Less than 7 is perfectly OK.
Requirements must be specific and unambiguous with respect to what's needed, but should be less so on how to meet the requirements.
The requirement does not specify who/what does the thing.
Does this mean the system does something, or the user?
Over stringent - If possible specify relevant tolerances.
Naturally, all this depends on what kind of requirement you get. I'm used to typical Gui or Web application, batch processes and
I have also one single advice for the reviewer: know your subject
You have to have very detailed knowledge of the requirement's context, the specific client's need, the technical environment and perhaps the most important who this requirement will be addressed to and what level of global understanding they have.
I made very bad experience in projects with many people reviewing the specs since their individual knowledge was very shallow. You get the feed back on the same level, mostly formal corrections but the profound lacks of the specification will only discovered very lately in the project.
Worst one I've seen on a project I coded for:-
Firstly, a requirement with "as required" in it is stupid. That one line must have cost $400k. The customer kept pointing at it and saying it says there you're going to do blah, blah, blah.