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.
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