Intent
Requirements are the foundation in product development. Getting them right can spare you a lot of trouble.
Motivation
The requirements text is an important building block of product descriptions. Unless they are well-written, we cannot use them as the foundation for our product development
Applicability
You should always make sure that your requirements have the desired quality. The approach may vary if your requirements are not simple text.
Structure
There is lots of literature on good requirements. Good textual descriptions are:
- Atomic
- Unambiguous
- No redundancy (in itself and with respect to other items)
- No contradiction (in itself and with respect to other items)
- Necessary
- Understandable
- Verifiable (Testable)
- Consistent (in itself and with respect to other items)
Note that today, you also find requirements in different forms: use cases, models, etc.
Consequences
Good requirements provide confidence with respect to the development. They make it easier to deal with change and to verify the soundness and consistency of the system description as a whole.
However, sometimes requirements become harder to read or awkward when sticking to the above rules, e.g. by breaking a well-written requirement into two for atomicity.
Implementation
- Train staff in writing good requirements
- Use reviews to systematically enforce well-written requirements
- Use analysis tools to scan requirements for weak words and the like
- For some requirements (e.g. use cases), use templates
Related Patterns