Compound requirement

IBM® Engineering Requirements Quality Assistant (RQA) message: This requirement includes more than one statement, actor, or action. Effective requirements are single and atomic. To make the requirement more precise and easier to verify, refine it to a single statement with one actor and action.

Explanation

A compound requirement is a requirement that contains two or more statements, each of which is a distinct requirement with its own individual verification path. Also, if a requirement contains no clause but includes two or more imperatives, it is considered as a compound requirement.

RQA identifies conjunctions such as and, but, and however that can signal compounding. For example, the and in the following requirement suggests a compound requirement:

  • If the server is in the USA, then the default language will be English and the secondary language will be Spanish.

Requirements that include more than one statement are problematic because they are hard to test and verify, and they pose awkward project management questions. For example, what if one statement in a compound requirement is 70% complete and the other statement is only 30% complete? What is the status of that requirement? What is the overall status of a project in which several requirements are compounded in this way?

To avoid project management difficulties, and to ensure that each requirement is individually verifiable, separate requirements into individual statements that have one actor, one action, and one object.

Example 1

  • If the password entered is incorrect then the screen must show an error message and explain the reason why the password was incorrect.
In this requirement, multiple action verbs, such as show and explain cause confusion. You can simplify the requirement as follows:
  • If a user enters an incorrect password, an error message with password guidance must be shown.

Example 2

  • The car should run at a max speed of 50 km/h and motorbike should run at a max speed of 30 km/h.

In this requirement, two imperatives are used. You can simplify the requirement as follows:

  • The max speed of car and a motorbike should be 50km/h and 30 km/h respectively, with +/- 0.03% tolerance.

Example 3

  • If the sensors detect moving tigers and lions then the main door, back door, side windows, and main windows should be closed immediately.

In this requirement, multiple action verbs such as, detect, moving, closed are used. The ‘if then’ clause is also used. You can simplify the requirement as follows:

  • The sensor detection of movement of tigers and lions must result in closing the main door, back door, side windows, and main windows.