View Only

Pattern: Good Requirements

By Michael Jastram posted 03-07-2019 04:39



Requirements are the foundation in product development. Getting them right can spare you a lot of trouble.


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


You should always make sure that your requirements have the desired quality. The approach may vary if your requirements are not simple text.


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.


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.


  • 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