Home

04 Requirements Engineering: Vom Prozess zur Praxis

lecture requirements agile elicitation change-management poc

1. Einführung: Von Dokumentation zu Entdeckung

Wo wir aufgehört haben:

In Teil 1 haben Sie gelernt:

Aber wir haben die schwierigeren Fragen noch nicht beantwortet:

Heutiger Fokus: Der Prozess des Requirements Engineering - von der Erhebung bis zum Änderungsmanagement, und warum Agile als Antwort auf Anforderungsunsicherheit entstanden ist.


2. Lernziele

Am Ende dieser Vorlesung werden Sie:

  1. Anforderungen aus verschiedenen Perspektiven sehen (Entwickler, PM, Produktmanager, Gründer)
  2. Erhebungstechniken anwenden, um Anforderungen durch Stakeholder-Interviews zu entdecken
  3. Bugs von Change Requests unterscheiden und verstehen, warum das wichtig ist
  4. POC-getriebene Ansätze nutzen, um Anforderungen durch Prototyping zu entdecken
  5. Traditionelle Entwicklungsmodelle verstehen (Wasserfall, V-Modell, V-Modell XT) und ihre Grenzen
  6. Erkennen, warum V-Modell XT wichtig ist für deutsche Behörden- und regulierte Industrieprojekte
  7. Agile Methodik als Vorschau als Antwort auf Anforderungsunsicherheit

Verbindung zu Teil 1: Diese Fähigkeiten bauen auf der Dokumentation und den Qualitätskriterien aus Teil 1 auf. Man kann Anforderungen nicht gut erheben, wenn man nicht weiß, was eine gute Anforderung ausmacht.


3. Über den Entwickler hinaus: Business-Perspektiven

Verschiedene Rollen stellen unterschiedliche Fragen zu Anforderungen.

3.1 Die Sicht des Entwicklers

Fragen:

Fokus: Präzision, Testbarkeit, Implementierungsdetails

3.2 Die Sicht des Projektmanagers

Fragen:

Fokus: Das magische Dreieck:

graph TD
    Scope --- Time
    Time --- Budget
    Budget --- Scope

    Quality((Quality))

    Scope -.-> Quality
    Time -.-> Quality
    Budget -.-> Quality

“Gut, Schnell, Günstig - wähle zwei.”

3.3 Die Sicht des Produktmanagers

Fragen:

Fokus: Wertlieferung, Nutzerbedürfnisse, Priorisierung

3.4 Die Sicht des Startup-Gründers

Fragen:

Fokus: Product-Market Fit, Validierung, Pivoting

Wichtige Erkenntnis: Dieselbe “Anforderung” sieht auf jeder Ebene anders aus:

“Schnittpunkt anzeigen”


4. Anforderungen erheben: Wie man Stakeholder interviewt

Anforderungen schreiben sich nicht von selbst. Jemand muss sie durch Gespräche mit Stakeholdern entdecken.

4.1 Techniken zur Anforderungserhebung

Technik Am besten für Vorsicht bei
Interviews Individuelle Perspektiven verstehen, Unbekanntes erkunden Suggestivfragen, Annahmen
Workshops Konflikte lösen, Konsens aufbauen Dominante Stimmen, Gruppendenken
Beobachtung Tatsächlichen Workflow verstehen (nicht was Nutzer sagen) Hawthorne-Effekt (Menschen ändern Verhalten wenn beobachtet)
Umfragen Daten von vielen Nutzern sammeln Niedrige Rücklaufquoten, oberflächliche Antworten
Prototyping "Ich erkenne es, wenn ich es sehe"-Anforderungen erkunden Nutzer verwechseln Prototyp mit Produkt

4.2 Gute Fragen vs. Schlechte Fragen

Schlechte Fragen (suggestiv, geschlossen):

Gute Fragen (offen, explorativ):

4.3 Die 5-Warum-Technik

Wenn Sie eine Anforderung hören, graben Sie tiefer:

Nutzer: “Die Schnittpunktberechnung muss schneller sein.”

Warum? “Weil ich zu lange warte.”

Warum ist Warten ein Problem? “Weil ich 50 Profile pro Tag verarbeiten muss.”

Warum 50 pro Tag? “So viele Straßensegmente vermessen wir.”

Warum nicht stapelweise? “Ich brauche die Ergebnisse vor der nächsten Messung.”

Warum sofort? “Um den Kamerawinkel für das nächste Segment anzupassen.”

Echte entdeckte Anforderung: Nicht “schnellere Berechnung” sondern “Echtzeit-Feedback-Schleife für Kameraanpassung.”

Lösung könnte sein: Vorhersage/Vorschau, nicht schnellere Berechnung.


5. Change Request vs. Bug Fix: Eine kritische Unterscheidung

Das scheint ein technisches Detail zu sein, ist aber tatsächlich eine geschäftskritische Entscheidung.

5.1 Definitionen

Bug:

Die Software erfüllt eine bestehende, dokumentierte Anforderung nicht.

Change Request (CR):

Der Stakeholder möchte, dass die Software etwas anderes oder zusätzliches zu bestehenden Anforderungen tut.

5.2 Warum das wichtig ist

Aspekt Bug Fix Change Request
Abrechnung Meist kostenlos (Gewährleistung) Typischerweise kostenpflichtig
Priorität Oft hoch (gebrochenes Versprechen) Hängt vom Geschäftswert ab
Umfang Teil des ursprünglichen Umfangs Erweitert den Umfang
Schuld Entwicklerteam Keiner (neue Anforderung)
Zeitplan Verlängert Deadline nicht Kann Deadline verlängern

5.3 Die Grauzone

Kunde sagt: “Der Schnittpunkt ist falsch!”

Ist es ein Bug oder CR?

graph TD
    A[Kunde meldet Problem] --> B{Ist erwartetes Verhalten dokumentiert?}
    B -->|Ja| C{Entspricht Software der Dokumentation?}
    B -->|Nein| D[Grauzone - mit Stakeholder besprechen]
    C -->|Ja| E[Change Request - Software funktioniert wie spezifiziert]
    C -->|Nein| F[Bug - Software entspricht nicht Spezifikation]
    D --> G{War Verhalten durch Kontext impliziert?}
    G -->|Ja| H[Wahrscheinlich ein Bug]
    G -->|Nein| I[Wahrscheinlich ein CR]

Echtes Beispiel:

“Die Schnittpunktberechnung liefert falsche Ergebnisse für Winkel größer als 180°.”

Wichtige Erkenntnis: Gute Anforderungsdokumentation verhindert diese Streitigkeiten.

Warnung: Über die Softwareentwicklung hinaus

Diese Unterscheidung ist nicht nur eine technische Angelegenheit—sie kann rechtliche und finanzielle Konsequenzen haben, die weit über den Bereich der Softwareentwicklung hinausgehen. In realen Projekten eskalieren Bug- vs. Change-Request-Streitigkeiten oft zu Vertragsverhandlungen, rechtlichen Diskussionen oder sogar Gerichtsverfahren.

Perspektive Risiko Schutzstrategie
Als Entwickler/Anbieter Kunden können "Bugs" behaupten, um neue Features kostenlos zu bekommen, Umfang ohne Vergütung erweitern Detaillierte Anforderungsdokumentation, klare Abnahmekriterien, unterschriebene Spezifikationen
Als Kunde Anbieter können für "Change Requests" Geld verlangen, wenn sie echte Bugs beheben, Sie zahlen doppelt Klare Bug-Definitionen in Verträgen fordern, Abnahmetests vor Zahlung

Reale Szenarien, die Sie kennen sollten:

Was das für Sie als Student bedeutet:

Fazit: Je klarer Ihre Anforderungsdokumentation, desto weniger Streitigkeiten entstehen. Wenn Streitigkeiten auftreten, schützt gute Dokumentation beide Parteien.


6. POC-getriebene Anforderungen: Bauen um zu Lernen

Hier ist die unbequeme Wahrheit über Anforderungen:

Kunden wissen nicht, was sie wollen, bis sie es sehen.

Das ist kein Versagen - das ist menschliche Natur. Anforderungen entstehen durch Interaktion mit greifbaren Artefakten.

6.1 Das Problem mit umfangreichen Vorab-Anforderungen

Traditionelles RE nimmt an, dass man:

  1. Stakeholder interviewen kann
  2. Vollständige Anforderungen schreiben kann
  3. Das System bauen kann
  4. Das liefern kann, was sie wollten

Realität:

  1. Stakeholder beschreiben, was sie denken, dass sie wollen
  2. Sie bauen es
  3. Sie sehen es und sagen “Eigentlich meinte ich…”
  4. Teure Nacharbeit

6.2 Lean Startup: Build-Measure-Learn

Der Lean Startup Ansatz (Eric Ries) dreht den Prozess um:

graph LR
    A[Idea] --> B[Build MVP]
    B --> C[Measure]
    C --> D[Learn]
    D --> A

MVP = Minimum Viable Product: Das Kleinste, was Sie bauen können, um Ihre Hypothese über Nutzerwünsche zu testen.

Beispiel für Road Profile Viewer:

Statt das vollständige System zu bauen:

  1. MVP 1: Kommandozeilen-Skript, das Schnittpunkt berechnet → Nutzer zeigen
  2. MVP 2: Einfacher Plot mit hartcodierten Daten → “Ist das, was Sie brauchen?”
  3. MVP 3: Interaktiver Winkelwähler → “Funktioniert dieser Workflow?”

Jede Iteration verfeinert Anforderungen basierend auf echtem Feedback.

6.3 Design Thinking: Erst Empathie

Design Thinking (IDEO, Stanford d.school) betont das Verstehen der Nutzer vor dem Definieren von Lösungen:

Empathize → Define → Ideate → Prototype → Test
     ↑_____________________________________|

Wichtige Aktivitäten:

Anforderungen entstehen aus diesem Prozess - sie sind keine Eingaben dafür.

6.4 Moderner Ansatz: Gen AI für Rapid Prototyping

Hier wird es für moderne Entwickler spannend:

Traditionelles Prototyping:

Gen AI-unterstütztes Prototyping (“Vibe Coding”):

Beispiel-Workflow:

Entwickler: "Erstelle eine einfache Python GUI, die eine CSV mit Straßenpunkten
           lädt und als Liniendiagramm anzeigt. Füge einen Schieberegler für Winkel hinzu."

[KI generiert funktionierenden Code in 10 Minuten]

Entwickler: *Zeigt dem Straßenbauingenieur*

Ingenieur: "Das ist interessant, aber ich muss auch die Kameraposition sehen.
          Und kann der Schnittpunkt blinken wenn er sich aktualisiert?"

Entwickler: "Füge Kamerapositionsmarker und blinkenden Schnittpunkt zum Code hinzu."

[KI aktualisiert Code in 5 Minuten]

Entwickler: *Zeigt aktualisierte Version*

Ingenieur: "Ja! Aber eigentlich muss ich zwei Profile nebeneinander
          vergleichen können..."

Die Erkenntnis: KI ermöglicht so schnelle POCs, dass Anforderungsentdeckung interaktiv wird.

Statt:

  1. Langes Interview → Geschriebene Anforderungen → Bauen → Falsches Ding

Bekommen Sie:

  1. Kurzes Gespräch → Funktionierender Prototyp → Sofortiges Feedback → Verfeinerter Prototyp → Echte Anforderungen entstehen

Anforderungen werden zu Gesprächen mit funktionierender Software als gemeinsame Referenz.

6.5 Wann traditionelles RE versagt

POC-getriebene Ansätze sind besonders wertvoll wenn:

Traditionelles RE funktioniert noch für:


7. Traditionelle Entwicklungsmodelle

Bevor wir in Agile eintauchen, müssen wir verstehen, was davor kam. Traditionelle Entwicklungsmodelle dominierten die Softwareentwicklung jahrzehntelang, und viele Organisationen—besonders in regulierten Branchen—nutzen sie heute noch. Das Verstehen dieser Modelle hilft Ihnen zu würdigen, warum Agile entstand und wann traditionelle Ansätze noch angemessen sein könnten.

7.1 Das Wasserfallmodell: Ursprünge und Struktur

Das Wasserfallmodell ist der Großvater aller Software-Entwicklungsmethodologien.

Geschichte:

Requirements
Design
Implementation
Testing
Deployment
Maintenance

Jede Phase “fließt” in die nächste wie Wasser, das einen Wasserfall hinunterstürzt—daher der Name. Sobald Sie eine Phase passiert haben, ist es schwierig und teuer, stromaufwärts zurückzugehen.

Die Royce-Ironie:

Hier ist ein faszinierendes historisches Detail: Winston Royce, dessen 1970er Paper universell als Ursprung des Wasserfallmodells zitiert wird, warnte tatsächlich vor dem rein sequentiellen Ansatz. In seinem Paper nannte er den einfachen Wasserfall “riskant und zum Scheitern einladend.” Der Rest seines Papers beschrieb iterative Verbesserungen und Feedback-Schleifen.

Die Industrie übernahm sein Diagramm, ignorierte aber seine Warnungen. Royces “warnendes Beispiel” wurde zum Standardprozess.

Charakteristiken:

Wo Wasserfall funktioniert:

Trotz seiner Einschränkungen kann Wasserfall angemessen sein für:

7.2 Das V-Modell: Testen eingebaut

Das V-Modell entstand in den 1980ern als Evolution des Wasserfalls und adressierte eine seiner Hauptschwächen: Testen als Nachgedanke.

Ursprung: Paul Rook führte das V-Modell Ende der 1980er ein, hauptsächlich für Softwareentwicklung in regulierten Branchen.

Wichtige Innovation: Jede Entwicklungsphase auf der linken Seite des “V” hat eine entsprechende Testphase auf der rechten Seite. Testplanung geschieht parallel zur Entwicklung, nicht danach.

Requirements Analysis
test planning
Acceptance Testing
System Design
System Testing
Detailed Design
Integration Testing
Implementation
Unit Testing

Die V-Form: Entwicklung fließt hinunter den linken Arm, erreicht Implementation am unteren Punkt, dann fließt Testen hinauf den rechten Arm. Die horizontalen gestrichelten Linien zeigen, dass Testplanung parallel geschieht—Abnahmetests werden entworfen, wenn Anforderungen geschrieben werden, nicht nach dem Codieren.

Die V-Form erklärt:

Entwicklungsphase (Links) Entsprechende Testphase (Rechts) Was wird verifiziert
Anforderungsanalyse Abnahmetest Erfüllt das System die Nutzerbedürfnisse?
Systemdesign Systemtest Funktioniert das System wie entworfen?
Detaildesign Integrationstest Arbeiten Komponenten zusammen?
Implementation Unit Test Funktioniert jede Einheit korrekt?

Verbesserung gegenüber Wasserfall:

Immer noch sequentiell:

Trotz der Verbesserung leidet das V-Modell am gleichen fundamentalen Problem wie Wasserfall: Funktionierende Software erscheint erst am Ende. Wenn Anforderungen falsch waren, entdecken Sie es immer noch spät.

7.3 V-Modell XT: Der deutsche Behördenstandard

Wenn Sie an IT-Projekten für die deutsche Bundesregierung arbeiten, sind Sie verpflichtet, V-Modell XT zu verwenden. Das ist nicht optional—es ist gesetzlich vorgeschrieben.

Was ist V-Modell XT?

V-Modell XT (wobei “XT” für “eXtreme Tailoring” steht) ist der Standard-Entwicklungsprozess für deutsche Bundes-IT-Projekte seit 2005. Version 2.3 (veröffentlicht März 2019) ist aktuell in Verwendung.

Offizielle Ressourcen:

Geschichte:

Warum “Extreme Tailoring”?

Anders als starre Prozessmodelle ist V-Modell XT darauf ausgelegt, an verschiedene Projekttypen und -größen angepasst zu werden. Der “Tailoring”-Prozess wählt aus, welche Teile des Modells auf Ihr spezifisches Projekt anwendbar sind.

Kernkomponenten:

  1. Entscheidungspunkte: Projekt-Gates, an denen bestimmte Liefergegenstände genehmigt werden müssen, bevor fortgefahren wird. Diese sichern Qualität und bieten Management-Sichtbarkeit.

  2. Vorgehensbausteine: Ungefähr 20 standardisierte Module, die kombiniert werden können:
    • Projektmanagement (PM)
    • Qualitätssicherung (QS)
    • Konfigurationsmanagement (KM)
    • Problem- und Änderungsmanagement (PÄM)
    • Anforderungsmanagement
    • Systementwicklung
    • Und mehr…
  3. Projekttypen:
    • Systementwicklungsprojekt
    • Systemintegrationsprojekt
    • Kombinierte Entwicklung und Integration
    • Service-Projekte
    • Agiles Entwicklungsprojekt (ja, sogar V-Modell XT hat agile Varianten!)
  4. 108 definierte Produkte (Liefergegenstände): Von Anforderungsspezifikationen bis Testberichten, jedes Produkt hat eine definierte Struktur und einen Genehmigungsprozess.

  5. 35 definierte Rollen: Projektmanager, Architekten, Entwickler, Tester, Qualitätsmanager und mehr—jede mit definierten Verantwortlichkeiten.

Tailoring-Prozess:

graph LR
    A[Projekttyp auswählen] --> B[Projekttypvariante auswählen]
    B --> C[Projektcharakteristiken definieren]
    C --> D[Projektspezifisches Modell generieren]

Reale Anwendungen:

Warum das für Studenten wichtig ist:

Auch wenn Sie nicht planen, in der Regierung zu arbeiten, ist das Verstehen von V-Modell XT wertvoll, weil:

7.4 Das Problem mit sequentiellen Modellen

Alle sequentiellen Modelle—Wasserfall, V-Modell und V-Modell XT—teilen fundamentale Einschränkungen, die schließlich zur Agile-Bewegung führten.

Das Problem des späten Feedbacks:

In sequentiellen Modellen erscheint funktionierende Software erst am Ende. Wenn Anforderungen falsch waren, entdecken Sie es Monate (oder Jahre) nachdem die Entscheidung getroffen wurde.

graph LR
    A[Anforderungs-<br>entscheidung] -->|"6-18 Monate"| B[Funktionierende<br>Software]
    B --> C[Entdeckung:<br>'Das meinte ich nicht!']
    C --> D[Teure<br>Nacharbeit]

Die Kosten der Änderung:

Barry Boehms bahnbrechendes 1981er Buch “Software Engineering Economics” dokumentierte, was als “Kosten-der-Änderung-Kurve” bekannt wurde. Seine Studien zeigten, dass spät in der Entwicklung gefundene Defekte dramatisch teurer zu beheben sind:

Hinweis: Moderne Studien zeigen variierende Verhältnisse je nach Kontext. Die genauen Zahlen sind umstritten, aber das Prinzip ist robust: Späte Änderungen kosten mehr als frühe Änderungen.

Warum? Ein Anforderungsfehler, der während der Anforderungsphase gefunden wird, bedeutet Änderung eines Dokuments. Derselbe Fehler in Produktion gefunden bedeutet:

Die fundamentalen Spannungen:

Sequentielle Modelle nehmen an, dass wir:

  1. Alle Anforderungen im Voraus kennen können
  2. Eine vollständige Lösung vor dem Codieren entwerfen können
  3. Es beim ersten Mal richtig bauen können

Die Realität widerspricht allen drei Annahmen:

Annahme Realität
"Wir können alle Anforderungen im Voraus kennen" Nutzer wissen nicht, was sie wollen, bis sie es sehen
"Wir können vollständig vor dem Codieren designen" Design-Entscheidungen brauchen Feedback von der Implementation
"Wir können es beim ersten Mal richtig bauen" Software wird gelernt, nicht hergestellt

Das Paradox:

Die Lösung?

Akzeptieren Sie, dass Änderung unvermeidlich ist und bauen Sie Prozesse, die sie annehmen. Kämpfen Sie nicht gegen Unsicherheit—arbeiten Sie mit ihr.

Diese Erkenntnis führte zur Agile-Bewegung…


8. Vorschau: Hin zu agiler Entwicklung

Alles, was wir besprochen haben, zeigt auf eine fundamentale Spannung:

Das Planungsproblem:

Traditionelle Antwort: Mehr Planung, mehr Dokumentation, Änderungskontrolle

Agile Antwort: Änderung als unvermeidlich annehmen, schnell iterieren, früh Wert liefern

8.1 Das Agile Manifest (Vorschau)

Wir erschließen bessere Wege, Software zu entwickeln, indem wir es selbst tun und anderen dabei helfen.

Durch diese Arbeit haben wir gelernt zu schätzen:

  • Individuen und Interaktionen mehr als Prozesse und Werkzeuge
  • Funktionierende Software mehr als umfassende Dokumentation
  • Zusammenarbeit mit dem Kunden mehr als Vertragsverhandlung
  • Reagieren auf Veränderung mehr als das Befolgen eines Plans

Das heißt, obwohl wir die Werte auf der rechten Seite wichtig finden, schätzen wir die Werte auf der linken Seite höher ein.

8.2 Agile Anforderungen

In agiler Entwicklung:

Nächste Vorlesung: Wir tauchen tief in Agile Methodik ein - Scrum, Sprints, Backlogs, und wie Testen in iterative Entwicklung passt.


9. Zusammenfassung

Konzept Kernpunkt Verbindung zum Testen
Business-Perspektiven Gleiche Anforderung, verschiedene Sichten Verschiedene Abnahmekriterien pro Rolle
Erhebungstechniken Anforderungen werden entdeckt, nicht diktiert Bessere Fragen → bessere Testfälle
Bug vs Change Request Erfüllt Spec nicht vs neue Spec Tests definieren die Grenze
POC-getriebenes RE Bauen um Anforderungen zu entdecken Prototyp testet Hypothesen
Wasserfall & V-Modell Sequentielle Phasen, spätes Feedback V-Modell paart Entwicklungsphasen mit Testphasen
V-Modell XT Deutscher Behördenstandard, verpflichtend für Bundes-IT 108 Produkte, 35 Rollen, Entscheidungspunkte
Probleme sequentieller Modelle Späte Änderungen kosten mehr (Boehm) Spät geplante Tests = spät gefundene Defekte
Agile Vorschau Änderung annehmen, schnell iterieren Kontinuierliches Testen in Sprints

Das große Bild (beide Teile kombiniert):

Stakeholder-Bedürfnisse
       ↓
   Anforderungen (User Stories, Abnahmekriterien)  ← Teil 1
       ↓
   Erhebung & Verfeinerung  ← Teil 2
       ↓
   Tests (verifizieren Anforderungen)  ← Teil 1
       ↓
   Code (implementiert Anforderungen, besteht Tests)
       ↓
   Change Requests & Bug Fixes  ← Teil 2
       ↑
   Lücken offenbaren fehlende Anforderungen
       ↑
   Zurück zu Stakeholder-Gesprächen

10. Reflexionsfragen

  1. Schauen Sie auf Ihr aktuelles Projekt: Welche Anforderungen sind implizit in Ihrem Code? Wo sind sie dokumentiert?

  2. Stakeholder-Analyse: Wer sind die Stakeholder für den Road Profile Viewer? Was könnte ein “Sicherheitsbeauftragter”-Stakeholder fordern, das nicht in unserer ursprünglichen Liste war?

  3. Bug oder CR? Ein Nutzer meldet: “Das System stürzt ab, wenn ich eine Datei mit 1 Million Punkten lade.” Die Dokumentation sagt nichts über Dateigrößenlimits. Bug oder Change Request? Wie würden Sie damit umgehen?

  4. Testbarkeit: Nehmen Sie diese Anforderung: “Das System soll zuverlässig sein.” Schreiben Sie sie so um, dass sie testbar ist.

  5. POC-Ansatz: Wenn Sie ein neues Feature für Road Profile Viewer bauen würden und nicht genau wüssten, was Nutzer brauchen, wie würden Sie einen Gen AI-unterstützten POC-Ansatz nutzen, um Anforderungen zu entdecken?


11. Weiterführende Literatur

Bücher:

Standards:

Werkzeuge:

© 2026 Dominik Mueller   •  Powered by Soopr   •  Theme  Moonwalk