How do we distinguish between excellent requirements and subpar requirements? There are many quality attributes that help us to define what a superior requirement looks like. They include:
- Correctness: refers to an absence of errors of fact in the specified requirement
- Completeness: for a requirement individually, refers to the inclusion of all necessary information such that if the requirement is satisfied, the need will also be satisfied; completeness – for requirements as a set, refers to the inclusion of sufficient requirements such that if the set is satisfied, the need will also be satisfied with only a small expected loss due to omissions
- Consistency: requires that a requirement not be in conflict with any other requirement, nor be inconsistent internally
- Clarity: requires that a requirement be readily understandable without semantic analysis
- Non-ambiguity: requires that there be only one semantic interpretation of a requirement
- Traceability: permits unambiguous requirements traceability in design and verification
- Singularity: refers to a property whereby a requirement cannot sensibly be expressed as two or more requirements having different actors (subjects), actions (verbs) and/or objects of action
- Feasibility: for a requirement, requires that some means exist whereby the requirement may be satisfied; feasibility – for a set of requirements, requires that some means exist whereby the requirements may be satisfied as a set
- Balance: a set of requirements, refers to the set being optimum, i.e., forming a part of an optimum solution to the higher (physical) level problem for which the item which is the subject of the requirements is a part of the solution
- Freedom from product/process mix: absence of process in a product requirement (with exceptions)
These attributes and potential areas of defect in requirements are illustrative of the many topics that are covered in PPI’s Live-Online™ Requirements Analysis and Specification Writing 5-Day Course.