Requirements Engineering

Requirements Engineering und Management Teil 1: Anforderungen – Eine Checkliste zur Reife?

Anforderungen erfassen und verwalten ist ein wesentlicher Schlüssel zu erfolgreichen Projekten. Egal ob im klassischen oder agilen Prozessumfeld – professionelles Requirements Engineering und Management für Embedded- und Echtzeitsysteme verkürzt Ihre Projektlaufzeiten und spart Entwicklungs- sowie Wartungskosten ein. Stellen Sie sich dieser Herausforderung!

Vor dem Hintergrund meiner beruflichen Erfahrungen sowie der Durchführung vieler Seminare und Coachings zum Thema Requirements Engineering und Management ist die dem Beitrag zugrunde liegende Checkliste entstanden.

Die nachfolgenden Checklistenpunkte zeigt Ihnen, was Sie zum Thema Anforderungen in Ihrem Unternehmen einführen, durchführen und optimieren können. Sie ist gleichermaßen eine Fundgrube wertvoller Tipps aus der Praxis und entstanden aus den Erfahrungen zahlreicher Seminare und Coachings zum Thema Requirements Engineering und Management.

Zum besseren Verständnis: Der Begriff „System“ kann je nachdem durch andere Domänen, wie beispielsweise Embedded-Software oder -Hardware, ersetzt werden.

Die Requirements Engineering und Management Checkliste steht für Sie als PDF hier zum Download bereit.

Requirements Engineering: Anforderungen identifizieren, dokumentieren und verwalten

Grenzen Sie im kompletten Prozess gedanklich, schriftlich und organisatorisch die Anforderungen von deren Umsetzung ab. Anforderungen meinen das WAS, die Umsetzung dagegen das WIE. Nur in wenigen begründbaren Fällen enthalten Anforderungen selbst ein WIE.

Anforderungskontext identifizieren und darstellen

Grenzen Sie das anzufordernde System gegen dessen Kontext ab, um die externen Schnittstellen und damit die zugehörigen Anforderungen zu identifizieren.

Kontextsicht mit dem Use-Case Diagramm

Bild 1: Kontextsicht mit dem Use-Case-Diagramm

Als grafische Notation dazu eignet sich für eine Kontextsicht das Use-Case-Diagramm aus der UML (Unified Modeling Language) bzw. SysML (Systems Modeling Language).

Anforderungen textuell erfassen

Die Basis für alles Weitere in der Entwicklung und im Test sind die definierten Anforderungen. Diese sollten Sie textuell erfassen und ggf. mit anderen Darstellungsformen wie Grafiken und Diagrammen ergänzen. Eine alternative Notationsmöglichkeit, mit der Sie die textuelle Anforderungserfassung komplett ersetzen können, ist bisher nicht bekannt.

Anforderungstemplates anwenden

Verwenden Sie sogenannte Anforderungstemplates, um bereits beim Schreiben der Anforderungen eine hohes Qualitätslevel der Anforderungen zu erreichen. [1]

Anforderungstemplate für selbstständige Systemaktivität:
[Wann?] [Unter welcher Bedingung?] MUSS | SOLLTE DAS SYSTEM
<Objekt und Ergänzung des Objektes> <Prozesswort im Infinitiv>.

Anforderungstemplate für interaktive Systemaktivität:
[Wann?] [Unter welcher Bedingung?] MUSS | SOLLTE DAS SYSTEM <wem?> DIE MÖGLICHKEIT BIETEN, <Objekt und Ergänzung des Objektes> <Prozesswort im Infinitiv>.

Anforderungstemplate für potentielle Systemaktivität:
[Wann?] [Unter welcher Bedingung?] MUSS | SOLLTE DAS SYSTEM FÄHIG SEIN, <Objekt und Ergänzung des Objektes> <Prozesswort im Infinitiv>.

Natürlichsprachliche Methode anwenden

Um die Qualität der Anforderungen nochmals zu verbessern, wenden Sie ergänzend zu den Anforderungstemplates die natürlichsprachliche Methode an. Dadurch erreichen Sie eine Rücktransformation der beim Wissensausdruck entstehenden Tilgungen, Generalisierungen und Verzerrungen.[1]

Anforderungsqualitätsmerkmale definieren und berücksichtigen

Jede Anforderung muss die folgenden Qualitätsmerkmale erfüllen: vollständig, korrekt, verstehbar, notwendig, konsistent, verfolgbar, machbar, Verbindlichkeit klassifiziert, testbar und [optional] atomar.

Produkt-, Projekt- und Plattformanforderungen differenzieren

Machen Sie sich diese Anforderungskategorien bewusst:

Produktanforderungen:
Anforderungen, die Leistungsmerkmale, Fähigkeiten und Eigenschaften des aktuell zu entwickelnden Produktes beschreiben

Projektanforderungen:
Von der Projektleitung kommende Anforderungen, beispielsweise Zeiten, Kosten, Lieferumfang und Logistik

Plattformanforderungen:
Anforderungen, die für mehrere Produkte bzw. für diese Produktgruppe immer gültig sind ⇒ Wiederverwendbarkeit von Anforderungen

Funktional, nicht-funktional und Zusicherung differenzieren

Machen Sie sich diese Anforderungsarten bewusst:

Funktionale Anforderungen:
Nach außen hin sichtbare / beobachtbare Funktionalitäten

Nicht-funktionale Anforderungen:
Qualitäten, Qualitätsmerkmale einzelner funktionaler Anforderungen oder des gesamten Systems

Zusicherungen als Anforderungen:
Standards, Normen, Prozesse, technische Zusicherungen, Projektanforderungen

Qualitätsanforderungen definieren und erfassen

Beschreiben Sie nicht nur funktionale Anforderungen, sondern auch deren Qualitäten und ebenso die Qualitäten für das gesamte System.

(Abstrakte) Qualitätsmerkmale quantisieren

Quantisieren Sie abstrakte Qualitätsmerkmale wie beispielsweise Wiederverwendbarkeit. „Die Embedded-Software muss wiederverwendbar sein.“ ⇒ „Die Embedded-Software muss mit dem Grad 4 wiederverwendbar sein.“ Dabei müssen Sie die verschiedenen Grade einmalig spezifizieren. So geht daraus hervor, was die Embedded-Software erfüllen muss.

Bei konkreten Qualitätsmerkmalen, wie beispielsweise dem Leistungsverbrauch eines Systems, können Sie direkt den Wert mit Einheit setzen.

(Abstrakte) Qualitätsmerkmale testbar / nachweisbar gestalten

In der oben beschriebenen Gradspezifikation beschreiben Sie zusammen mit dem Testteam auch die Testbarkeit / Nachweisbarkeit für die Erfüllung des (abstrakten) Qualitätsmerkmals.

Bei konkreten Qualitätsmerkmalen, wie beispielsweise dem Leistungsverbrauch eines Systems, ist die Testbarkeit / Nachweisbarkeit meist klar.

Aus Standards gültige Requirements ableiten

Standards und Normen enthalten nicht immer direkt die Anforderungen für das Produkt. Vielmehr lassen die Texte häufig einen gewissen Interpretationsspielraum zu. Umso wichtiger ist es, dass Sie einmalig aus den für Ihre Produkte gültigen Standards und Normen die konkreten Anforderungstexte ableiten und diese gemeinsam mit den Beratungsstellen der zertifizierenden Organisationen vor der Umsetzung abstimmen.

Anforderungsglossar als Teil des Projektglossars pflegen

Wenn Sie in den Anforderungstexten Substantive, Verben, Adjektive oder Abkürzungen verwenden, die bei Stakeholdern nicht geprägt sind, müssen Sie diese Begriffe in einem Glossar erklären. Führen Sie ein einziges Glossar anstelle mehrerer verschiedener für das gesamte Projekt ⇒ Vermeiden von Redundanz und Inkonsistenz!

Alles zu Requirements Engineering und Management

Holen Sie sich im MicroConsult Seminar zu Requirements Engineering und Management das notwendige Wissen, um qualitativ hochwertige Anforderungen und dazu passende Abnahmekriterien zu entwickeln und zu dokumentieren. Die aktuell überarbeitete Version des Seminars fußt auf über 10 Jahren Coaching- und Seminarerfahrung aus der Praxis.

Erfahren Sie im Seminar,  wie Sie die Qualität von bereits bestehenden Anforderungen bewerten und verbessern, einen Requirements-Prozess in Ihrer Firma einführen, bewerten, optimieren, verstehen und ihn leben und zudem fundierte Tool-Entscheidungen zur Verwaltung von Anforderungen treffen können.

Lesen Sie in Teil 2 alles über Prozess, Vorgehen und Methode beim Requirements Engineering und Management.

Teil 3 beleuchtet das Verwalten, Verfolgen und Verlinken von Anforderungen.

Weiterführende Informationen

MicroConsult Fachwissen zum Thema Prozessmanagement

MicroConsult Training & Coaching zum Thema Prozessmanagement

Seminar: Requirements Engineering und Requirements Management

Mehr lesen:

Teil 2: Prozess, Vorgehen, Methode beim Requirements Engineering und Management
Teil 3: Anforderungen verwalten, verfolgen und verlinken

Beitragsbild: Adobe Stock

[1] Quelle: Anforderungstemplates, natürlichsprachliche Methode: SOPHIST

Veröffentlicht von

Thomas Batt

Thomas Batt

Thomas Batt studierte nach seiner Ausbildung zum Radio- und Fernsehtechniker Nachrichtentechnik. Seit 1994 arbeitet er kontinuierlich in verschiedenen Branchen und Rollen im Bereich Embedded-/Realtime-Systementwicklung. 1999 wechselte Thomas Batt zur MicroConsult GmbH. Dort verantwortet er heute als zertifizierter Trainer und Coach die Themenbereiche Systems/ Software Engineering für Embedded-/Realtime-Systeme sowie Entwicklungsprozess-Beratung.