There is no well-defined way of writing the ideal product requirements, and the best teacher is an experience that is acquired over time. Perfect requirements documents are written in technical language and contain the user’s terminology, rather than computer slang. A well-known scientist offers many recommendations and examples on this topic. Here are some of them:
- Text full sentences using the correct grammar, spelling and punctuation. Suggestions and paragraphs should be concise and clear.
- Use active voice (for example, “The system will do this”, and not “Something will happen”).
- Consistently use terms and exactly as they are defined in the dictionary. Beware of synonyms and words that are close in meaning. When writing a software requirements specification you should not use the diversified vocabulary, trying to interest the reader.
It is always wise to use a quality assurance service while developing software products. In so doing, you will be able to create marketable apps since errors and issues will be timely detected and eliminated.
- Unclear high-level requirements should be detailed in such a way that they become absolutely clear.
- Requirements should be developed in a sequential manner, for example “The system will be” or “The user will be”, then – the active verb, and after – the observed result. Specify the initiating conditions or actions, due to which the system behaves in a certain way. For example, “If the requested chemical is found in a chemical store, the system displays a list of all the containers stored in the warehouse with the specified chemical.” You can use “must” as a synonym “will”, but you should avoid using “should”, “can”, “could” and similar words, from which it is not clear whether action is necessary.
- When specifying the requirement in the form “User will …” identify a certain actor (for example, “Buyer will …”).
- Use lists, drawings, graphs and tables to present information visually. Readers are tired of a large volume of solid text.
- Underline the most significant pieces of information. Here are suitable: graphics, sequences in which the first element is emphasized, repeats, empty space and visual contrast, for example, shading; the requirements written in an unclear language are not verifiable, so avoid ambiguous and subjective terms.
- Make the requirements in such detail that, if the requirement is met, the client’s task would be completed, but avoid unnecessary development constraints.