dot.tipp - Klassisches Requirements Engineering – Fundament erfolgreicher Systeme
Requirements Engineering (RE) bildet das Fundament erfolgreicher Softwareprojekte – eigentlich aller Vorhaben mit technischem oder organisatorischem Veränderungsanspruch. Es sorgt dafür, dass Anforderungen systematisch erhoben, analysiert, dokumentiert, geprüft und verwaltet werden. Die Rolle Requirements Engineer wirkt dabei wie ein Dolmetscher zwischen Fach und Umsetzung – oder, etwas bildlicher: als Brücke zwischen Problemraum (Herausforderung) und Lösungsraum (Systementwicklung).
Gerade im klassischen Projektumfeld ist Requirements Engineering nicht nur Begleitung, sondern oft die Voraussetzung, dass überhaupt gemeinsam gearbeitet werden kann. Es schafft Klarheit dort, wo Erwartungen diffus, Bedürfnisse unausgesprochen oder Rahmenbedingungen widersprüchlich sind. Und es ist der Ort, an dem sich zeigt, ob eine Organisation bereit ist, Struktur zu schaffen, bevor sie Lösungen baut.
Anforderungen erheben – woher kommt das, was wir brauchen?
Anforderungen kommen nicht einfach aus dem Nichts. Sie entstehen aus Beobachtungen, aus Nutzerbedürfnissen, aus Normen und Regulatorien, aus Ideen und Visionen – und manchmal auch schlicht aus alten Handbüchern oder aus Source Code, der schon längst niemand mehr versteht. Requirements Engineering bedeutet, diese Quellen ernst zu nehmen – aber auch, sie kritisch zu hinterfragen.
Ein hilfreiches Denkmodell für diese Arbeit liefert das Kano-Modell. Es unterscheidet zwischen Basisanforderungen, Leistungsanforderungen und Begeisterungsanforderungen – eine Differenzierung, die mehr ist als akademisch. Denn wer versucht, alle Anforderungen gleich zu behandeln, verliert schnell die Orientierung. Nicht jede Anforderung ist gleich wertvoll, und nicht jede verdient den gleichen Aufwand in der Erhebung oder später in der Umsetzung.
Basisanforderungen sind diejenigen, deren Nichterfüllung zu massiver Unzufriedenheit führt – aber deren Erfüllung kaum als wertvoll wahrgenommen wird. Sie sind selbstverständlich, unausgesprochen und gleichzeitig unverzichtbar. Leistungsanforderungen hingegen stehen im direkten Verhältnis zur Zufriedenheit: je besser erfüllt, desto grösser der wahrgenommene Nutzen. Und dann gibt es noch die Begeisterungsanforderungen – die, die niemand erwartet hat, aber alle schätzen, wenn sie plötzlich da sind.
Das Kano-Modell im Überblick
Basisanforderung
Sind Unterbewusste Anforderung und Erwartung der Stakeholder. Sie werden als selbstverständlich erwartet und deshalb selten bis nie als Anforderung erwähnt. Aber, obwohl sie selten bis nie erwähnt werden, führen sie bei Nichterfüllung zu Unzufriedenheit.
Beispiele:
- Eine funktionierende Login-Funktion
- Verfügbarkeit eines Services
- Sicherheit meiner Daten
Leistungsanforderung
Leistungsanforderungen werden bewusst erwartet resp. gefordert. Je besser unser Produkt, unsere Lösung diese erfüllt, desto höher die Zufriedenheit. Sie können von Stakeholdern meist klar genannt werden.
Beispiele:
- Ladezeit unter 3 Sekunden
- Neue Messmethode in einem analytischen System
- Neue Möglichkeit Versicherungsprodukte zu kombinieren
Begeisterungsanforderung
Begeisterungsanforderungen schlummern unbewusst bei Stakeholdern. Sie werden nicht erwartet, schaffen aber positive Überraschung. Sie werden eher selten über Fragetechniken entdeckt, sondern benötigen oft gezielte Kreativitätstechniken.
Beispiele:
- Automatischer Nachtmodus je nach Tageszeit
- Automatische Gerätekonfiguration beim Kauf eines Neugeräts
- Automatische Hinweis beim Kauf eines Tickets für eine bereits bezahlte Strecke
Anforderungen unterscheiden sich aber nicht nur auf der Basis der Kano-Kategorien, sie lassen sich mit unterschiedlichen Anforderungsarten definieren und kombinieren:
-
Funktionale Anforderungen (Was soll das System tun?)
-
Nicht-funktionale Anforderungen (Wie soll das System es tun?)
-
Rahmen- respektive Domänenanforderungen (Was gilt in unserem spezifischen fachlichen Kontext?)
Die Essenz des Kano-Modells geht folglich über die blosse Kategorisierung der Anforderungen hinaus. Vielmehr ermöglicht uns das Kano-Modell einen gezielten und fundierten Blick auf die zu wählende Erhebungstechnik und das gezielte Hinterfragen, ob wir ein vollständiges Bild der Anforderungen haben. In der Erhebung heisst das: Wir müssen fragen, beobachten, analysieren – aber auch die blinden Flecken erkennen. Interviews mit Nutzerinnen, Beobachtungen im Alltag, Dokumentenanalysen und Workshops zur gemeinsamen Exploration sind etablierte Methoden. Doch keine Technik allein deckt alle Schichten ab. Die Kombination macht den Unterschied – und das bewusste Hinterfragen der Herkunft, Gewichtung und Formulierung jeder Anforderung.
Achtung! Über die Zeit "wandern" Anforderungen und damit auch Erwartungen über die Achsen des Kano-Modells. Im Jahre 2000 war ein vollständiger Touch-Screen noch eher Wunschdenken. Geschweige denn ein durchgängig funktionierender. Heute kämen die meisten Menschen nicht auf die Idee, dies als Anforderung zu nennen. Umgekehrt konnte man das Nokia 3210 fast für alles benutzen (Eis ab der Windschutzscheibe kratzen, Nägel einschlagen und noch vieles mehr), wohingegen heutige Telefone immer ausgeklügeltere Schutzhüllen brauchen. Den Akku eines Nokia 3210 konnte man fast wochenlang nutzen, das wäre damals kein Begeisterungsfaktor gewesen. Heute träumen wir von Smartphones, die mehr als 2 Tage durchhalten.
Erhebungstechniken im Überblick
Achtung: Eine solche Liste kann nie ganz vollständig sein und diese Liste soll entsprechend nur einen Eindruck über die Vielfalt von Methoden und Techniken geben. Falls deine Methode also nicht auf der Liste ist, bitte ab in die Kommentare und schon jetzt, danke für den Hinweis!
Befragungstechniken
Befragungstechniken eignen sich sehr gut für die Erfassung von Basis- und Leistungsanforderungen gemäss dem Kanomodell.
- Interview
- Detaillierte Erfassung von Erwartungen
- Bietet Raum für detaillierte Diskussionen
- Fragebogen
- Systematische Erfassung von Erwartungen
- Gleichzeitige Befragung mehrerer Stakeholder (inkl. allen Vergleichsmöglichkeiten)
Kollaborationstechniken
Je nach Ausprägung der Kollaboration kann man festhalten, dass sich Kollaborationstechniken für alle Kategorien des Kano-Modells eignen.
- Workshop / crowd-basiertes RE
- Gemeinsame Diskussion & Priorisierung
- Möglichkeit, gezielte Fragegestellungen vertieft zu analysieren
Beobachtungstechniken
Beobachtungstechniken haben ihren Fokus auf den Basisanforderungen des Kano-Modells.
- Feldbeobachtung
- Aufdecken stiller Schmerzpunkte
- Apprenticing
- Tiefes Verständnis durch eigenes Erleben
Artefaktbasierte Techniken
Artefaktbasierte Techniken eignen sich vor allem für Basisanforderungen und die Ermittlung von Rahmenbedingungen. Beispielsweise durch das Studium einer ISO Norm.
- Dokumentanalyse
- Systematischer Abgleich mit Vorgaben
- Risiko von Analysis Paralysis
- Systemarchäologie
- Systematische Analyse vorhandener Lösungen
- Risiko von Analysis Paralysis
- Wiederverwendung
- Wird oft verlangt, ist aber einer der root-causes für schlechte Anforderungen
Kreativitätstechniken
Kreativitätstechniken eignen sich insbesondere für die Ermittlung von Leistungsanforderungen und vor allem Begeisterungsanforderungen.
- Brainstorming
- In diversen Ausprägungen machbar
- Ideal für crowd-basiertes RE
- In Kombination mit dem Double-Diamond aus den Design Thinking sehr wertvoll
- Analogietechniken
- Sinnvoll, wenn die Kreativität gerade einen Stau hat
- In diversen Varianten möglich
Design Techniken
Design Techniken eignen sich besonders für Begeisterung & Realitätsschock inklusive
- Prototyping
- Sichtbar machen, was gedacht wurde
- Verleitet oft dazu, in Lösungen zu denken, deshalb nicht zu früh im Prozess einbringen
- Szenarien & Storyboards
- Sichtbar machen, was gedacht wurde
- Betrachtung verschiedener Varianten
- Verleitet oft dazu, in Lösungen zu denken, deshalb nicht zu früh im Prozess einbringen
Warum ein Glossar sinnvoll ist?
Wir haben nun also ein paar Schritte und Ideen zum Requirements Engineering gesammelt und vielleicht auch gemerkt, dass da ganz schön viele neue Begriffe quasi vorausgesetzt werden. Oder ist uns allen klar, was ein Double-Diamond, der Root-Cause, Analysis Paralysis sind und wo wir Design Thinking einordnen sollen?
Anektoteles
Das Spannende ist, dass wir uns noch gar nicht über kundenspezifische Themen unterhalten haben. Im Kundenkontext kommen zu all den methodischen Begriffen noch eine Vielzahl ganz spezifischer Wörter und Abkürzungen daher, die ihr vielleicht nicht mal aktiv im Wortschatz habt. Also bei mir war das auf jeden Fall so, als ich zum Beispiel bei der SBB im Programm öV-Karte mit den Akronymen IPS, HAFAS, FVP oder GOM konfrontiert wurde. Zum Glück gab es ein umfassendes GOM, ein Geschäftsobjektmodell, in dem alle Begriffe detailliert erklärt wurden.
Übrigens: Anektoteles kennzeichnet Elemente in diesem Blog, bei denen ich von meiner Projekterfahrung erzähle.
Es macht folglich absolut Sinn, sich früh und dann regelmässig mit einer Form von Glossar zu beschäftigen. Ein Begriff, den ich oben eingeführt habe möchte ich definitiv erklären. Gerade weil er eine der grossen Herausforderungen für Requirements Engineers treffend erklärt. Analysis Paralysis bezeichnet das Phänomen, dass man sich in der Analyse von etwas absolut verlieren kann, quasi in einem Rabbit Hole verschwindet und nicht realisiert, dass das eigene Tun keinen echten Mehrwert mehr liefert. Das ist gerade bei Erhebungstechniken, die artefaktbasiert sind, ein grosses Risiko. Nichts ist einfacher als stundenlang Dokumente und Systeme zu analysieren. Ein Kern des Requirements Engineerings ist aber eben auch der aktive Austausch mit Stakeholdern.
By the way, als Stakeholder werden grundsätzlich alle von einem Vorhaben betroffenen Personen bezeichnet. Durch ein gezieltes Requirements Engineering sollen die Betroffenen zu Beteiligten gemacht werden. Hier in diesem Artikel verwende ich den Begriff Stakeholder aber bewusst ohne grosse Eingrenzung und in diesem Sinne als Repräsentation einer Person, die potentiell Anforderungen an eine Lösung hat.
Anforderungen dokumentieren – von Sprache zu Spezifikation
Sobald Anforderungen erhoben sind, stellt sich eine alte, immer wieder neue Frage: In welcher Form dokumentieren wir sie? Und wie schaffen wir es, dabei möglichst wenig Interpretationsspielraum zu lassen?
Das Problem mit natürlicher Sprache
Natürliche Sprache ist unser naheliegendstes Mittel – und gleichzeitig unser grösstes Risiko. Denn Sprache ist nie eindeutig. Sie ist kontextabhängig, voller Homonyme, Synonyme, impliziter Bedeutungen und kultureller Färbung. Ein Satz wie "Der Benutzer kann das Dokument speichern" ist auf den ersten Blick trivial – bis sich herausstellt, dass niemand weiss, wohin, unter welchem Namen, mit welchen Rechten oder in welchem Format.
-
Synonyme & Homonyme (Bearbeiten, Verarbeiten – oder Schimmel, Bank, Zug)
-
Kontextabhängigkeit (Was heisst "zügig"?)
-
Polysemie & Pragmatik ("Ich frage nur aus Neugier" … oder doch nicht?)
-
Strukturelle Mehrdeutigkeit ("Ich sah den Mann mit dem Fernglas")
Das Problem ist nicht nur syntaktischer, sondern vor allem semantischer Natur. Die Syntax – also die formalen Regeln, wie ein Satz gebildet wird – lässt sich recht gut beherrschen. Doch die Semantik – die Bedeutung – bleibt flüchtig. Begriffe wie "schnell", "einfach", "sicher" wirken klar, sind es aber nicht. Was heisst "schnell" in einem medizinischen Notfallsystem? Was bedeutet "einfach" für jemanden mit Barrierefreiheitseinschränkungen?
Vom Text zur Struktur – Formale Dokumentation
Um diese Mehrdeutigkeit zu reduzieren, braucht es Formen der Formalisierung. Und das ist die eigentliche Essenz des Requirements Engineerings. Wir transformieren Sprache von einer informalen Sprache weg hin zu einer möglichst formalen Sprache, idealerweise in Form von Modellen. Eine erste Stufe bilden dabei die Satzschablonen – wie sie etwa die Sophisten eingeführt haben – diese helfen, Anforderungen in eine konsistentere Struktur zu bringen. Noch weiter gehen semi-formale und formale Modellierungssprachen wie zum Beispiel UML (Unified Modelling Language), die sowohl Syntax als auch Semantik definieren. Einige davon erlauben sogar die automatische Ableitung von Code oder Tests – unter der Voraussetzung, dass sie korrekt und diszipliniert eingesetzt werden.
Doch auch hier gilt: Die Form muss zur Organisation passen. Ein hochformalisiertes Modellierungsvorgehen bringt wenig, wenn die Beteiligten nicht mitziehen – oder die Wartung der Artefakte überhandnimmt. Ein zentraler Punkt im klassischen Requirements Engineering ist deshalb die bewusste Entscheidung über das geeignete Mass an Formalisierung. Nicht maximal, sondern passend. Eine kleine Gegenüberstellung von Dokumentationsformen haben wir im Blog, wie man Anforderungen sinnvoll (modellbasiert) beschreibt, publiziert.
Anforderungen abstimmen – validieren, bevor es teuer wird
Eine Anforderung, so präzise sie auch formuliert sein mag, bleibt hypothetisch, bis sie abgestimmt ist. Die klassische Methode zur Validierung ist der Review – strukturiert, rollenbasiert, mit klaren Prüfkriterien. Diese Disziplin ist kein Selbstzweck, sondern schützt davor, dass falsche Annahmen zum Fundament ganzer Projektabschnitte werden.
Review-Techniken helfen, frühzeitig Klarheit zu schaffen:
-
Strukturierte Reviews (Checklisten, Vier-Augen-Prinzip)
-
Walkthroughs (geführt durch den/die Autor:in)
-
Inspektionen (regelgeleitete, oft moderierte Prüfungen)
Anektoteles
Ein solch formal perfekt organisierter Review ist mitunter wahnsinnig kostenintensiv. Früher habe ich Anforderungslisten oder Use Cases durch einen formalen Review abnehmen lassen. Das ging dann so, dass ich das Dokument allen Review-Teilnehmenden als PDF geschickt habe. Dazu auch ein Excel (schön formatiert und ausgeklügelt gestaltet) in dem sie ihre Review Kommentare erfassen konnten. Diese habe ich dann gesammelt und alle Befunde die sofort und ohne Rücksprache verarbeitet werden können, wurden sogleich in das original Dokument eingearbeitet. Danach wurden alle Review-Teilnehmenden zum offiziellen Review eingeladen, bei den zum einen die Überarbeitung gezeigt, aber vor allem auch die Konfliktpunkte besprochen und geklärt wurden. Konnte man sich einigen, wurden auch die letzten Befunde in dem Original eingearbeitet. Das braucht viel Zeit, Terminorganisation und Kommunikation. Und vielleicht erklärt es auch, wieso das Thema Konfliktmanagement im Requirements Engineering einen solch hohen Stellenwert hat.
Im Gegensatz dazu steht der Review im agilen Kontext – etwa das Sprint Review im Scrum Framework – das stark auf das Produktinkrement fokussiert. Dort steht das Feedback zur Umsetzung im Vordergrund, nicht zur Anforderung. Der Vorteil: schnelles Lernen. Der Nachteil: Fehler in der Anforderung werden oft erst nach Aufwand sichtbar. Klassisches RE setzt hier früher an – und hat, gut gemacht, das Potenzial, viel Energie zu sparen. So gibt es eine Studie über Fehlerkosten die zum Schluss kommt, dass Fehler die in Anforderungen gefunden werden Faktor 90 günstiger zu beheben sind, wie solche im bereits erstellten Produkt. Da ich die Studie selbst nicht mehr finde, verweise ich hier auf einen Artikel aus dem Six-Sigma Kontext, der dieses Phänomen mit der "Role of Ten" anschaulich erklärt.
Anforderungen managen – leben statt ablegen
Anforderungen sind nie statisch. Sie entstehen nicht nur in der Anfangsphase, sondern verändern sich mit jedem neuen Verständnis, jeder Umsetzungsentscheidung, jedem Nutzerfeedback. Requirements Management ist deshalb mehr als Archivierung. Es ist die aktive Pflege von Anforderungen über die Zeit hinweg. Relevant für das Management von Anforderungen sind vor allem:
-
Versionierung und Historie
-
Nachvollziehbarkeit (Traceability): Welche Anforderung führt zu welcher Funktion / Test / Dokumentation?
-
Just-in-Time-Verfeinerung: Auch im klassischen Umfeld hilfreich – wenn diszipliniert betrieben.
-
Trennung von Projekt- und Produktdokumentation
Versionierung, Nachvollziehbarkeit und der bewusste Umgang mit Änderungen sind zentrale Disziplinen. Besonders in regulierten Umfeldern – etwa im Gesundheitswesen oder der Finanzindustrie – ist dies oft entscheidend für die Zulassung, Auditierbarkeit und Nachweisführung.
Anektoteles
Damals, vor langer Zeit, haben wir unsere Anforderungen in Excel geführt und verwaltet. Da gab es die Listen von Features und Requirements. Die Traceability-Matrix wurde manuell und mit der Unterstützung komplexer Excel-Formeln geführt. Pivot-Tabellen haben geholfen zu prüfen, ob jedes Features ein Requirement hat, wie der Umsetzungsgrad ist, wie die Verteilung der Requirements auf die verschiedenen Kategorieren, aber auch auf die verschiedenen Komponenten der Lösung ist. Makros und Filterlisten haben uns geholfen, die Requirements konsistent zu halten und dank cleveren Designs und Formeln waren wir im 2010 in der Lage unsere Requirements direkt im Excel in Use Stories umzuwandeln. Diese haben wir dann ausgedruckt und auf einem physischen Sprint-Board mit dem Team als Story Cards verwendet.
Requirements Management ist also ein durchaus komplexer Prozess. Heute unterstützen uns diverse Tools darin, diesen komplexen Prozess zu managen. Leider geht dabei oft vergessen, weshalb und wie das sinnvoll gemacht wird. Das zeigt sich mitunter in einem weiteren Aspekt, der Trennung zwischen projektbezogenen und produktbezogenen Anforderungen. In klassischen Projekten verschwimmt das oft. Doch je klarer wir trennen, was für ein Projekt spezifisch ist – und was langfristig für das Produkt gilt – desto nachhaltiger wird die Dokumentation. Der Grundsatz der "Just-in-Time Specification" kann hier auch im klassischen Umfeld nützlich sein – solange er nicht als Vorwand für Beliebigkeit missverstanden wird.
Fazit & Ausblick
Klassisches Requirements Engineering ist weder veraltet noch unflexibel. Es ist die Disziplin, die für viele Organisationen noch immer die grösste Wirksamkeit entfaltet – gerade dort, wo Klarheit, Nachvollziehbarkeit und Abstimmung entscheidend sind. Wer klassisch denkt, muss nicht starr arbeiten. Aber er oder sie braucht ein tiefes Verständnis dafür, wann was wie dokumentiert, abgestimmt und gepflegt werden muss – und warum.
Doch was passiert, wenn sich Anforderungen ständig ändern, Teams iterativ arbeiten und Dokumentation nur so viel sein soll, wie unbedingt nötig? Dann sind andere Ansätze gefragt.
Im zweiten Teil dieser Serie werfen wir einen Blick auf agiles Requirements Engineering: Was davon ist Mythos? Was funktioniert wirklich? Und wie lässt sich Agilität mit Anspruch auf Qualität vereinen?
Und im dritten Teil schauen wir dann auf generative KI im RE – nicht als Ersatz für Expertise, sondern als Unterstützung in einem klugen, kontrollierten Prozess.
Eventuell interessant
Verwandte Blogs

dot.tipp - Wie macht man erfolgreiche Retrospektiven?

dot.gastbeitrag - Agiles Strategisches-, Taktisches- und Operatives Projektportfolio Management

Keine Kommentare
Teile deine Meinung