Services Practices

Pattern: Good Requirements

By Michael posted 03-07-2019 07:39

  

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

0 comments
13 views