Negative statement
IBM® Engineering Requirements Quality Assistant (RQA) message: This requirement includes a negative statement. Effective requirements use positive statements because they are more direct, easier to verify, and less likely to be duplicated. Rewrite the requirement to state what should happen, not what shouldn’t happen.
Explanation
Requirements that include negative statements are harder to verify because they can have many possible outcomes. It is easier to verify something specific than it is to verify the absence of many other possibilities
Example 1
Negatively worded requirements often indicate implied or unstated expectations. For example, consider the following requirement:
- On pressing Enter the user shall not move to the next page.
What is the positive result that should happen instead of not moving to the next page
?
Should the program display an error message or move the cursor to the next field? For example, a
positive statement could be as follows:
- On pressing Enter the system shall display an error message.
Rewriting the requirement to avoid not
forces the author to be more specific and makes the
requirement clearer and easier to verify.
Example 2
Negatively worded requirements are difficult to verify because it is not possible confirm things that are absent or do not happen.
- The system shall not allow unauthorized access.
This requirement is problematic because it is hard to verify that the system does not allow unauthorized access. Instead, this positive wording is easier to test and verify:
- The system shall provide access only to authorized users.
Example 3
A positively worded requirement also avoids duplicate requirements because there can only be one positive outcome, but many negative ones.
For example, this positively worded requirement avoids unnecessary duplication:
- The interface shall show correct results in green font.
If the same requirement is worded negatively, you need several other statements to express the same idea:
- The interface shall not show correct results in red font.
- The interface shall not show correct results in blue font.
- And so on.