How to write complete requirements
Completeness is, by far, the most difficult quality characteristic to be checked in our requirements specifications. Completeness is a twofold issue. On the one hand, a requirement statement is complete when it includes and conveys all the information it has to include: who is the subject of the action, when is this action performed, under what conditions, what should be the performance…. In other words, and citing the INCOSE Guide for Writing Requirements: a requirement statement is complete when it “… describes the necessary capability, characteristic, constraint, or quality factor … without needing other information to understand the requirement”.
On the other hand, the entire specification should be analyzed in terms of completeness to answer questions such as:
- Are we considering all different types of requirements (safety, security, regulation…)?
- Are all the different types of actors mentioned in the high-level requirements?
- Are we addressing the counterpart for some specific actions? That is, if a specific item can be created in a system, should it be also removed at any particular time? When a light can be switched on, shouldn’t we also expect a requirement to switch it off?
- Are all the system elements described in a model well-covered in our specifications?
- Are there interfaces between components where our requirements are not linking together these pair of components?
- Are all the actions described at a specific level properly flowed down to the following levels?
- Completeness also has to do with links and attributes. Missing links or empty attributes are also sources of incompleteness.
A tool like RQA will never replace the human labor to tackle this issue, but what technology can offer is a quick and exhaustive analysis of large requirements specifications; and, at the same time, having in mind that necessity and completeness are the two sides of the same coin.
- The completeness problem in systems engineering: how to know when the requirements are complete?
- Completeness metrics in Requirements Quality Suite
- Live demo:
- Tailoring completeness metrics in RQA
- Checking completeness for a DOORS specification with RQA