Requirements Engineering

Requirements Engineering und Management Teil 2: Prozess, Vorgehen, Methode

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!

Nach der Definition der Anforderungen mithilfe einer Checkliste im 1. Teil lesen Sie nachfolgend, wie Sie Prozess, Vorgehen und Methode beim Requirements Engineering und Management gestalten.

Anforderungen auf allen Entwicklungsebenen etablieren

Führen Sie Requirements Engineering und Management nicht nur für Kunden- und Systemanforderungen ein, sondern für alle Entwicklungsdomänen, so zum Beispiel für Subsysteme, Hardware, Embedded-Software, Software und Konstruktion.

Anforderungsebenen - Requirements Management

Bild 2: Anforderungsebenen

Workflows, Aktivitäten, Artefakte und Rollen definieren

Egal ob Sie traditionelle (V-Modell XT) oder agile Prozesse anwenden, definieren Sie vorher eindeutige Workflows mit genau benannten Aktivitäten, deren ein- und ausgehenden Artefakten und deren verantwortlichen Rollen.

Verständnis und Commitment zu Anforderungen schaffen

Insbesondere bei der Einführung von Requirements Engineering und Management in Pilotprojekten bei Unternehmen ist es wichtig, im Vorfeld ein gemeinsames Verständnis sowie ein hohes Maß an Motivation, Wissen und Zustimmung unter den Beteiligten zu schaffen. Sollte es Zweifler geben, dann involvieren Sie diese gezielt, zum Beispiel in Engineering Meetings.

Ist-Zustand der bisherigen Produkte analysieren

Aus den Erfahrungen, die Sie mit den Vorgängerprodukten gesammelt haben, können Sie Anforderungen für das neue Produkt ableiten.

Stakeholder identifizieren und analysieren

Stakeholder sind Personen und Institutionen, die ein berechtigtes Interesse an dem neuen Produkt haben. Nicht nur der Produktmanager sollte sich intensiv über potentielle Stakeholder Gedanken machen, sondern auch die Anforderungsverantwortlichen nachfolgender Entwicklungsebenen.

Stakeholder auswählen und dokumentieren

Wählen Sie aus den identifizierten Stakeholder-Gruppen einzelne Repräsentanten aus und dokumentieren Sie Ihre Auswahl.

Stakeholder-Interviews durchführen

Vereinbaren Sie mit den ausgewählten Stakeholder-Repräsentanten Interviewtermine und befragen Sie sie zu den von Ihnen vorbereiteten Anforderungsthemen. Lernen und üben Sie dazu Interviewtechniken. Hierzu profitieren Sie von Kenntnissen über NLP (Neurolinguistisches Programmieren).

Anforderungen aus Interview-Ergebnissen ableiten

Leiten Sie aus den Interviewergebnissen anschließend konkrete Anforderungen ab.

Anforderungen mit Auftraggeber / Stakeholdern abstimmen

Stimmen Sie die aus den Interviewergebnissen abgeleiteten Anforderungen in einer nächsten Iteration mit den Stakeholdern ab.

Anforderungen analysieren, modellieren

Modellieren Sie im Rahmen der Analyse die Anforderungen. So werden Inkonsistenzen und Unvollständigkeiten entdeckt, und Sie sorgen so für ein verbessertes Themenverständnis. Dabei entwickeln Sie neben der Kontextsicht Funktionale-Anforderungssichten sowie interaktive und generische Verhaltenssichten. Als Notation dazu hilft wiederum die UML / SysML. Um noch weitere Anforderungen aufzudecken, führen Sie auf Basis der entstandenen Sichtungen eine Fehleranalyse durch.

Anforderungen simulieren, ausführen

Mithilfe von Toolunterstützung und entsprechender Vorbereitung führen Sie das Anforderungsmodell aus und simulieren auf diese Weise die Anforderungen. Mittels der Simulationsergebnisse verbessern Sie zusätzlich die Anforderungsqualitäten.

Anforderungsmachbarkeit prüfen

Ein Anforderungsqualitätsmerkmal ist die Machbarkeit der Anforderung. Wenn nicht einmal der Fachspezialist die Machbarkeit abschätzen kann, müssen Sie eine Machbarkeitsstudie (Feasibility Study) beauftragen. Damit validieren Sie die Machbarkeit des Projektes.

Prototyp (Wegwerf- oder evolutionär) erstellen

Mittels des vom Prototypen-Team erstellten Prototyps erhalten Sie eine konkrete Aussage über die Machbarkeit der Anforderung. Den Wegwerf-Prototypen entsorgen Sie, den evolutionären Prototypen lassen Sie ins Produkt einfließen. Vereinbaren Sie vor der Prototypenerstellung dessen Art und halten Sie das Ergebnis schriftlich fest. Beachten Sie, dass ein Wegwerf-Prototyp niemals zu einem evolutionären Prototyp mutieren darf!

QA: Reviews durchführen

Führen Sie zusammen mit ausgewählten Stakeholdern Reviews der textuellen und der modellierten Anforderungen durch. Mit den Review-Ergebnissen verbessern Sie anschließend die Anforderungsqualitäten.

QA: Funktionalszenarien und Qualitätsszenarien ausführen

Funktionalszenarien:
Analysieren Sie mit „Papier und Bleistift“ oder toolgestützt mit der UML-/SysML-Notation typische und untypische funktionale Abläufe gegen die Schnittstellen des Systems. Basis dazu ist der aktuelle Kenntnisstand über das System. Prüfen Sie dabei die Konsistenz und Vollständigkeit der Anforderungen zu den Abläufen. Als nebenläufigen Nutzen können Sie diese Funktionalszenarien auch als Testszenarien gegen die externen Schnittstellen (Systemtest) einsetzen.

Qualitätsszenarien:
Analysieren Sie, welche realistischen und konkreten Szenarien sich für das System aus (abstrakten) Qualitätsmerkmalen für das System ergeben. Beispielsweise resultieren aus dem abstrakten Qualitätsmerkmal Portabilität in der Embedded-Software mehrere Dimensionen: Portierbarkeit bezogen auf Hardware, Betriebssystem, Kommunikation, Middleware. Für alle relevanten Dimensionen arbeiten Sie realistische Szenarien aus, z.B. Hardware-Portierung von Mikrocontroller A zu Mikrocontroller B, und nehmen diese als Anforderung mit auf.

Konsistenz zwischen Anforderungen und Umsetzung gewährleisten

Gleichen Sie kontinuierlich die Umsetzung mit den Anforderungen ab. Im Fehlerfall korrigieren Sie die Anforderungen. Bei Anforderungsänderungen prüfen Sie die Umsetzung. Allerspätestens am Projektende sollte das System exakt die Umsetzung der Anforderungen widerspiegeln – nicht mehr und nicht weniger.

Abnahmekriterium / Test-Case für jede Anforderung entwickeln

Das Testteam stattet jede Anforderung mit mindestens einem Test-Case aus. Durch die personelle Trennung (vier-Augen-Prinzip) ergeben sich positive Rückwirkungen auf die Anforderungsqualitäten. Mit der späteren Ausführung des Test-Cases weist der Tester nach, dass die Anforderung im System umgesetzt ist. Es existiert keine Anforderung ohne Test-Case. Im Umkehrschluss entfällt jede Anforderung ohne Test-Case.

Kontinuierliches, proaktives Risikomanagement etablieren

Die Projektleitung führt während des gesamten Projektes ein Risiko-Tracking-Dokument, in das die Projektbeteiligten die identifizierten Risiken eintragen.

 Risko Tracking - Requirements Management

Bild 3: Risiko-Tracking-Dokument

Damit Sie die Eintrittswahrscheinlichkeit P und das Schadensausmaß S nicht nach Bauchgefühl angeben, müssen Sie für P und S konkrete Werte und Einheiten definieren.

Änderungsprozess für Anforderungen etablieren

Während der Entwicklung ändern sich aus verschiedensten Gründen immer wieder Anforderungen, neue kommen hinzu und bestehende entfallen. Für diese Fälle sollten Sie einen Ablauf definieren, in dem ein Team die Konsequenzen der Änderung bewertet (Impact-Analyse) und final über die Änderung entscheidet. Fällt die Entscheidung gegen die Änderung, sollten Sie die Anforderung für das Folgeprodukt speichern.

Aus Fehlern lernen

Sorgen Sie dafür, dass Sie die gleichen Fehler (in der Anforderungserhebung) nicht mehrfach machen ⇒ Lessons learned.

Prozess, Vorgehen, Methode und Tooling kontinuierlich verbessern

Jedes neue Projekt bietet die Chance, den Prozess und was dazugehört kontinuierlich zu verbessern. Notieren Sie sich die Optimierungspunkte während des Projektes (Projekttagebuch) und adaptieren Sie den Prozess vor dem nächsten Projekt.

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 3 alles über das Verwalten, Verfolgen und Verlinken von Anforderungen.

Teil 1 dieser Reihe beleuchtet das Definieren der Anforderungen.

Weiterführende Informationen

MicroConsult Fachwissen zum Thema Prozessmanagement

MicroConsult Training & Coaching zum Thema Prozessmanagement

Seminar: Requirements Engineering und Requirements Management

Mehr lesen:

Teil 1: Anforderungen – Eine Checkliste zur Reife?
Teil 3: Anforderungen verwalten, verfolgen und verlinken

Beitragsbild: Adobe Stock

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.