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