Requirements Engineering
Systematischer Prozess zur Erhebung, Analyse und Verwaltung von Anforderungen an Systeme und Produkte. Zielt auf Nachvollziehbarkeit, Priorisierung und Minimierung von Fehlentwicklungen ab.
Klassifikation
- KomplexitätMittel
- AuswirkungGeschäftlich
- EntscheidungstypOrganisation
- OrganisationsreifeFortgeschritten
Technischer Kontext
Prinzipien & Ziele
Use Cases & Szenarien
Kompromisse
- Unvollständige oder widersprüchliche Anforderungen
- Scope Creep durch mangelnde Kontrolle
- Missverständnisse zwischen Business und Technik
- Kleine, testbare Anforderungen formulieren
- Kontinuierliche Validierung mit Stakeholdern
- Traceability von Anforderungen bis zu Tests sicherstellen
I/O & Ressourcen
- Stakeholder-Interviews
- Geschäfts- und Produktziele
- Bestehende Systemdokumentation
- Anforderungsspezifikation (z. B. User Stories, SRS)
- Priorisierte Produkt-Roadmap
- Nachverfolgbarkeitsmatrix
Beschreibung
Requirements Engineering ist der systematische Prozess zur Ermittlung, Analyse und Verwaltung von Anforderungen an ein System oder Produkt. Es verbindet Stakeholder-Interessen mit technischen Spezifikationen, reduziert Fehlentwicklungen und ermöglicht nachvollziehbare Entscheidungen. Relevante Tätigkeiten umfassen Erhebung, Spezifikation, Validierung und Änderungsmanagement.
✔Vorteile
- Geringere Fehlentwicklungen durch klare Anforderungen
- Bessere Priorisierung von Funktionen nach Geschäftswert
- Höhere Stakeholder-Zufriedenheit durch Transparenz
✖Limitationen
- Aufwand und Kosten für umfangreiche Spezifikationen
- Überdetaillierung kann Flexibilität verringern
- Abhängigkeit von Stakeholder-Verfügbarkeit
Trade-offs
Metriken
- Anforderungsstabilität
Anteil unveränderter Anforderungen über Iterationen.
- Nachverfolgbarkeit (Traceability)
Prozentsatz der Anforderungen mit Nachweis bis zur Implementierung/Test.
- Anzahl offener Unklarheiten
Anzahl noch zu klärender oder widersprüchlicher Anforderungen.
Beispiele & Implementierungen
Use-Case-getriebene Spezifikation
Anforderungen werden anhand konkreter Benutzer-Szenarios beschrieben und priorisiert.
User Stories mit Akzeptanzkriterien
Agile Teams nutzen User Stories plus klare Akzeptanzkriterien zur Validierung.
SRS (Software Requirements Specification)
Formale Spezifikation für vertragliche oder regulatorische Zwecke.
Implementierungsschritte
Stakeholder identifizieren und Ziele klären
Anforderungen erfassen und priorisieren
Anforderungen validieren, dokumentieren und nachverfolgen
⚠️ Technische Schulden & Engpässe
Tech Debt
- Unvollständige Dokumentation erschwert spätere Änderungen
- Fehlende Traceability erhöht Fehlerkosten
- Inkonsistente Anforderungen führen zu Integrationsproblemen
Bekannte Engpässe
Beispiele für Missbrauch
- Verzicht auf Priorisierung führt zu Scope Creep
- Technische Details statt Nutzerbedürfnisse dokumentieren
- Stakeholder-Auswahl nur nach Verfügbarkeit statt Relevanz
Typische Fallen
- Anforderungen zu früh zu fixieren
- Unklare Verantwortlichkeiten für Anforderungen
- Mangelnde Nachverfolgbarkeit zwischen Artefakten
Erforderliche Fähigkeiten
Drivers (Architectural Drivers)
Constraints
- • Zeit- und Budgetbegrenzungen
- • Regulatorische Vorgaben
- • Technische Legacy-Bedingungen