A Requirement is a statement of a necessary capability, behavior, quality, or constraint that an identified subject SHALL satisfy.
A Requirement can specify:
A Requirement should identify:
A Requirement can derive from:
statement of a necessary capability, behavior, quality, or constraint that an identified subject SHALL satisfy
Adapted from:
ISO/IEC/IEEE 29148 provides the systems and software engineering framework for requirements and requirements-engineering information.
OMG SDA establishes the authoring discipline for clear, precise, atomic, and independently interpretable normative statements.
The Common Specification Weakness Enumeration establishes rules and defect patterns for evaluating normative content, including ambiguity, non-testable requirements, weak language, implementation leakage, and multiple normative obligations.
A Requirement differs from a Policy:
A Policy can provide the source or rationale for one or more Requirements.
A Requirement differs from Acceptance Criteria:
A Requirement differs from an objective:
An objective can provide the source for one or more Requirements.
A Requirement differs from a design decision:
A Requirement should remain independent of implementation technology unless the controlling source requires a particular technology.
A conforming Requirement must:
A Requirement that combines independently verifiable obligations should be decomposed into separate derived Requirements.
When decomposition occurs:
Derived FromA Requirement Statement uses:
SHALL to express an obligationSHALL NOT to express a prohibitionMAY to express permission when the specification needs to state an allowed option
SHOULD expresses a recommendation and does not establish a mandatory Requirement.
A Requirement should not depend on vague or subjective expressions such as:
When such a characteristic is necessary, the Requirement or its Acceptance Criteria must establish measurable and bounded conditions.
A Requirement Identifier remains stable after external citation. Changes to the Requirement Statement must preserve review history, Provenance, Traceability, and the relationship to applicable verification records.
The following statement is not objectively verifiable:
DIDO-TE SHALL execute tests rapidly.
The term rapidly does not establish a measurable performance constraint.
The revised Requirement states:
DIDO-TE SHALL complete the selected Test Run within the maximum execution duration established by the Acceptance Criteria.
The Acceptance Criteria identify:
This structure permits objective verification and preserves Traceability among the Requirement, Acceptance Criteria, Test Run, measured duration, and verification result.
© 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc.