Glossary · Engineering, integration and validation
Requirements engineering
Also known as: Requirements management, RE
German: Anforderungsmanagement
In systems and software engineering, requirements engineering is the discipline of eliciting, analyzing, specifying, validating and managing the requirements of a system throughout its life cycle. It ensures that requirements are complete, unambiguous, verifiable and traceable.
- Validation
- Standards
In one sentence
Requirements engineering elicits, analyzes, specifies, validates and manages requirements so they are clear, verifiable and traceable.
Example
The team turns the customer's wish for a fast changeover into the verifiable requirement that a format change takes no longer than 10 minutes.
How it applies
- Engineering: Requirements engineers collect needs from stakeholders, derive System requirements and link them to design elements and tests. ISO/IEC/IEEE 29148 describes processes and the characteristics of good requirements.
- Testing: Each requirement needs a verification method; Traceability shows which Test cases cover which requirements.
- Change: Requirements change during projects. Managing changes, versions and baselines prevents design and tests from drifting away from agreed requirements.
- Documentation: Requirements for the user documentation, such as languages, formats, target groups and content required by law, should be captured like other requirements. The documentation team also benefits from traceable links to reuse wording and check completeness.
Requirements engineering vs. requirements management
In German usage, Anforderungsmanagement often covers the whole discipline. In English, requirements management usually means the ongoing handling of requirements: baselines, changes and traceability. Requirements engineering includes elicitation, analysis and specification as well.