Requirements Engineering

Requirements Engineering (RE)

The development of complex safety-critical systems is controlled by many different standards. Most of them reference Requirements Management as a must. Requirements Management can be defined in many ways. In ISO/IEC 29148 it is defined as:

“Requirements management encompasses those tasks that record and maintain the evolving requirements and associated context and historical information from the requirements engineering activities. Requirements management also establishes procedures for defining, controlling, and publishing the baseline requirements for all levels of the system of interest.”

A few activities can be noticed:

  • Evolving – i.e. not static. Handling Change is a key task for Requirements Management.
  • Associated context and historical information – There is a lot more data than only requirements that need to be managed to maintain a correct, complete, and consistent understanding of the Requirements statements. Requirements Management must manage this information as well, over time and across organizational boundaries.
  • Controlling and publishing – the implication is that Requirements Management must take command over information status to be able to respond to the question “What is included in each baseline?”
  • All levels of the system of interest – A multi-level specification structure, including links must be maintained.

As the definition states, the management of requirements must be included in a wider discipline, Requirements Engineering (RE). This discipline intends to cope with requirements within its entire life cycle.

Within the Systems Engineering community, there is a mature consensus on the different stages shaping the requirements engineering life cycle. Every stage applies its activities to cope with the different tasks assigned to it.

For example, the elicitation stage requires smart authoring (computers guiding humans in the writing process). The Analysis stage demands external means to support decisions (Artificial Intelligence), and the Specification Stage seeks automatic documentation procedures, modern text generation technologies, etc.). The important Verification Stage needs automatic ways to provide Correctness, Consistency, and Completeness (CCC) regarding the quality of the requirements. The Validation Stage uses digital tools to manage evidence of all sorts from stakeholders.
Finally, the management stage must provide unlimited traceability to any engineering item in the system life cycle, powerful attributes management, strong configuration and version management, change management, change impact, and conflict management.