Select Page

Requirements Engineering and Management Part 1: Requirements – A checklist for maturity?

Capturing and managing requirements is a key to successful projects. Whether in a traditional or agile process environment, professional requirements engineering and management for embedded and real-time systems shortens your project timelines and saves on development and maintenance costs. Take on this challenge!

The checklist underlying this article was created based on my professional experience and the execution of numerous seminars and coaching sessions on the topic of requirements engineering and management.

The following checklist items show you what you can introduce, implement, and optimize regarding requirements in your company. It is also a treasure trove of valuable practical tips, developed from the experience gained in numerous seminars and coaching sessions on requirements engineering and management.

For better understanding: The term "system" can be replaced by other domains, such as embedded software or hardware, depending on the context.

The Requirements Engineering and Management Checklist It is available for you to download as a PDF here.

Requirements Engineering: Identifying, documenting, and managing requirements

Throughout the entire process, clearly distinguish between requirements, their implementation, and their conceptual and written aspects. Requirements refer to the WHAT, while implementation refers to the HOW. Only in a few justifiable cases do requirements themselves include a HOW.

Identify and represent the requirement context

Define the system to be required against its context in order to identify the external interfaces and thus the associated requirements.

Context view with the use case diagram

Figure 1: Context view with the use case diagram

For a contextual view, the use case diagram from the [reference to relevant document/reference] is a suitable graphical notation. UML (Unified Modeling Language) or SysML (Systems Modeling Language).

Capture requirements in textual form

The basis for everything else in development and testing is the defined requirements. These should be captured in text and, if necessary, supplemented with other forms of representation such as graphics and diagrams. An alternative notation method that completely replaces textual requirements capture is not yet known.

Apply requirement templates

Use so-called requirements templates to achieve a high level of requirements quality right from the start when writing the requirements. [1]

Requirement template for autonomous system activity:
[When?] [Under what condition?] MUST | SHOULD THE SYSTEM
.

Request template for interactive system activity:
[When?] [Under what condition?] MUST | SHOULD THE SYSTEM OFFER THE OPPORTUNITY, .

Requirement template for potential system activity:
[When?] [Under what condition?] THE SYSTEM MUST | SHOULD BE CAPABLE, .

Use natural language methods

To further improve the quality of the requirements, use the natural language method in addition to the requirement templates. This allows you to reverse the deletions, generalizations, and distortions that occur during knowledge expression.[1]

Define and consider the required quality characteristics

Each requirement must meet the following quality characteristics: complete, correct, understandable, necessary, consistent, traceable, feasible, classified as binding, testable and [optional] atomic.

Product, project, and platform requirements differentiate

Be aware of these requirement categories:

Product requirements:
Requirements that describe the performance characteristics, capabilities, and properties of the product currently being developed.

Project requirements:
Requirements from project management, such as timelines, costs, scope of delivery and logistics

Platform requirements:
Requirements that are always valid for multiple products or for this product group ⇒ Reusability of requirements

Differentiate between functional, non-functional, and assurance

Be aware of these types of requirements:

Functional requirements:
Externally visible/observable functionalities

Non-functional requirements:
Qualities, quality characteristics of individual functional requirements or of the entire system

Assurances as requirements:
Standards, norms, processes, technical assurances, project requirements

Define and record quality requirements

Describe not only functional requirements, but also their qualities and the qualities for the entire system.

Quantifying (abstract) quality characteristics

Quantify abstract quality attributes such as reusability. "The embedded software must be reusable." ⇒ "The embedded software must be reusable to level 4." You only need to specify the different levels once. This clarifies what the embedded software must fulfill.

For specific quality characteristics, such as the power consumption of a system, you can directly set the value with a unit.

Make (abstract) quality characteristics testable / verifiable

In the grade specification described above, you and the test team also describe the testability / verifiability for fulfilling the (abstract) quality characteristic.

For specific quality characteristics, such as the power consumption of a system, testability/verifiability is usually clear.

Deriving valid requirements from standards

Standards and norms do not always directly contain the requirements for the product. Rather, the texts often allow for a certain degree of interpretation. Therefore, it is all the more important that you derive the specific requirement texts from the standards and norms applicable to your products and coordinate these with the consulting services of the certifying organizations before implementation.

Maintain the requirements glossary as part of the project glossary.

If your requirements documents contain nouns, verbs, adjectives, or abbreviations that are not familiar to stakeholders, you must explain these terms in a glossary. Maintain a single glossary for the entire project instead of several different ones ⇒ Avoid redundancy and inconsistency!

Everything about Requirements Engineering and Management

Get in MicroConsult Seminar on Requirements Engineering and Management The necessary knowledge to develop and document high-quality requirements and corresponding acceptance criteria. The recently revised version of the seminar is based on over 10 years of practical coaching and seminar experience.

Learn more in seminar, how to assess and improve the quality of existing requirements, how to introduce, evaluate, optimize, understand and implement a requirements process in your company, and how to make informed tool decisions for managing requirements.

Read in Part 2 everything about Process, procedure and method in requirements engineering and management.

Part 3 illuminates the Manage, track and Link of requirements.

Further information

MicroConsult expertise in process management

MicroConsult Training & Coaching on the topic of process management

Seminar: Requirements Engineering and Requirements Management

Read more:

Part 2: Process, procedure, method in requirements engineering and management
Part 3: Managing, tracking, and linking requirements

Featured image: Adobe Stock

[1] Source: Requirements templates, natural language method: SOPHIST

MicroConsult Newsletter

With the MicroConsult newsletter, you'll stay on the pulse of the embedded world. Look forward to proven practical knowledge, real professional tips, and current events – directly from our experts for your project success.

Subscribe now!

Published by

Thomas Batt

Thomas Batt