Anforderungsanalyse: Anforderungen richtig formulieren
Eine Anforderungsanalyse klärt, was ein System leisten soll und unter welchen Bedingungen es akzeptiert wird. Dazu werden Wünsche ermittelt, geordnet, präzise dokumentiert, geprüft, abgestimmt und bei Änderungen weiterverwaltet.
Auf dieser Seite lernst du, verschiedene Anforderungsarten zu unterscheiden und aus einer unklaren Beschreibung überprüfbare Anforderungen mit Akzeptanzkriterien abzuleiten.
Hake ab, was du schon kannst — und komm am Ende hierher zurück!
Warum Anforderungen vor der Entwicklung geklärt werden
Stell dir vor, ein Auftraggeber verlangt: „Das Programm soll Termine schnell und möglichst passend finden.“ Für die Entwicklung bleiben wichtige Fragen offen: Was bedeutet „schnell“? Wann ist ein Termin „passend“? Wer darf Termine eintragen? Was geschieht, wenn niemand gemeinsam Zeit hat?
Solche Unklarheiten können dazu führen, dass ein technisch funktionierendes System trotzdem nicht den tatsächlichen Bedarf erfüllt. Die Anforderungsanalyse soll deshalb ein gemeinsames Verständnis zwischen Fachseite, Auftraggebern, Nutzenden und Entwicklung herstellen.
Stakeholder
Ein Stakeholder ist eine Person oder Gruppe, die das System nutzt, Anforderungen stellt, Entscheidungen trifft oder von dem System betroffen ist. Stakeholder können unterschiedliche und sogar widersprüchliche Interessen haben.
Anforderungen bleiben während eines Projekts nicht unverändert. Neue Erkenntnisse, zusätzliche Stakeholder oder geänderte Bedingungen können eine Überarbeitung nötig machen. Anforderungsanalyse ist daher kein einmaliger Startschritt.
Die Leitfrage lautet: Bauen wir das Richtige? Erst danach geht es darum, ob das System technisch richtig gebaut wurde.
Wie der Prozess abläuft
Die Bezeichnungen unterscheiden sich je nach Vorgehensmodell. Im Kern gehören vier miteinander verbundene Tätigkeiten zum Requirements Engineering:
- Ermitteln: Bedürfnisse, Ziele und Einschränkungen bei Stakeholdern und aus weiteren Informationsquellen sammeln.
- Dokumentieren: Anforderungen verständlich und einheitlich beschreiben.
- Prüfen und abstimmen: Anforderungen auf Qualität, Machbarkeit und Widersprüche untersuchen und zwischen den Beteiligten klären.
- Verwalten: Anforderungen kennzeichnen, priorisieren, nachverfolgen und kontrolliert ändern.
Der Begriff Anforderungsanalyse wird unterschiedlich weit verwendet. Im engeren Sinn bezeichnet er vor allem das Strukturieren, Bewerten und Prüfen erhobener Anforderungen. Im weiteren Sinn steht er für nahezu den gesamten beschriebenen Prozess.
Die Tätigkeiten laufen nicht zwingend nacheinander ab. Beim Prüfen kann beispielsweise auffallen, dass Informationen fehlen. Dann beginnt eine neue Ermittlung und die Dokumentation wird angepasst.
Bei einer digitalen Terminfindung äußern Beteiligte zunächst mehrere Wünsche: Formulare sollen verteilt werden, ausgefüllte Angaben sollen gespeichert werden und das System soll mögliche Termine berechnen.
Bei der Analyse werden daraus getrennte Fragen und Anforderungen: Welche Daten werden eingegeben? Wer darf sie sehen? Nach welcher Regel gilt ein Termin als möglich? Wie wird angezeigt, wer noch nicht geantwortet hat? Die Antworten werden dokumentiert, geprüft und mit den Beteiligten abgestimmt.
Welche Arten von Anforderungen es gibt
Funktionale Anforderungen
Eine funktionale Anforderung beschreibt, was das System tun soll. Sie nennt einen Dienst, eine Verarbeitung oder ein Verhalten bei bestimmten Eingaben und Situationen.
Beispiele:
- Das System nimmt einen Ausleihgegenstand in den Bestand auf.
- Ein Administrator kann dabei Autor, Titel und ISBN eingeben.
- Bei einem belegten Raum legt das System keinen Vorlesungseintrag an und zeigt eine Fehlermeldung.
Qualitätsanforderungen
Eine Qualitätsanforderung beschreibt, wie gut oder unter welchen messbaren Qualitätsbedingungen eine Funktion erfüllt werden soll. Sie kann etwa Antwortzeit, Verfügbarkeit, Benutzbarkeit, Zuverlässigkeit oder Ressourcenbedarf betreffen.
„Das System reagiert zügig“ ist nicht ausreichend prüfbar. Eine präzisere Anforderung nennt einen Zielwert und die Testbedingungen, beispielsweise eine maximale Dauer auf festgelegter Testhardware.
Randbedingungen
Eine Randbedingung begrenzt den möglichen Lösungsraum. Sie kann technisch, rechtlich, organisatorisch, finanziell oder kulturell begründet sein.
Beispiele sind eine vorgeschriebene Ausführungsumgebung, ein festes Budget, eine notwendige Schnittstelle zu einem anderen System oder eine vorgegebene Sprache der Benutzerführung.
Frage zur Unterscheidung: Was tut das System? weist auf eine funktionale Anforderung. Wie gut tut es das? weist auf eine Qualitätsanforderung. Welche Grenze muss die Lösung einhalten? weist auf eine Randbedingung.
Wähle in jeder Lücke die passende Form und prüfe anschließend deine Antworten.
„Das System speichert einen Vorlesungseintrag“ ist eine . „Der Import dauert höchstens 15 Sekunden“ ist eine . „Das System muss Daten über eine vorgeschriebene Schnittstelle mit MS Excel austauschen“ beschreibt eine für die technische Lösung.
Woran du eine gute Anforderung erkennst
Eine einzelne Anforderung sollte mehrere Qualitätsmerkmale erfüllen:
- eindeutig: Wichtige Begriffe lassen nur eine beabsichtigte Bedeutung zu.
- verständlich: Fachseite und Entwicklung können sie gleich verstehen.
- atomar: Sie enthält nur eine Anforderung, über die getrennt entschieden werden kann.
- identifizierbar: Eine eindeutige Kennung ermöglicht Verweise und Änderungen.
- überprüfbar: Ein objektiver Test kann zeigen, ob sie erfüllt ist.
- nachvollziehbar: Quelle, Begründung und Verbindung zur Umsetzung sind erkennbar.
Für die gesamte Anforderungsmenge gelten zusätzlich:
- Sie deckt den benötigten Umfang vollständig ab.
- Die Anforderungen widersprechen einander nicht.
- Sie sind unter den gegebenen technischen, finanziellen und organisatorischen Bedingungen machbar.
- Abhängigkeiten und Prioritäten sind sichtbar.
Atomar bedeutet nicht einfach „möglichst kurz“. Der entscheidende Test lautet: Kann über jeden enthaltenen Inhalt separat entschieden und seine Erfüllung separat geprüft werden?
Ungeeignet: „Das System speichert die Vorlesung, zeigt sie an und verschickt eine Nachricht.“
Diese Formulierung verbindet drei getrennt prüfbare Funktionen. Besser sind drei Anforderungen:
- Das System speichert einen gültigen Vorlesungseintrag.
- Das System zeigt den gespeicherten Vorlesungseintrag an.
- Das System versendet nach dem Speichern eine Nachricht an die festgelegten Empfänger.
Nun kann jede Funktion einzeln priorisiert, umgesetzt und getestet werden.
Wie Akzeptanzkriterien eine Anforderung prüfbar machen
Ein Akzeptanzkriterium legt fest, woran die Erfüllung einer Anforderung erkannt wird. Daraus lässt sich ein Testfall ableiten. Besonders bei Qualitätsanforderungen gehören oft Zielwert, Belastung, Umgebung und Testdauer zur Prüfung.
Unklarer Wunsch: „Das System soll stabil und ausfallsicher sein.“
Prüfbare Teilkriterien aus dem Ausgangsmaterial sind beispielsweise:
- Das System erreicht eine festgelegte prozentuale Verfügbarkeit.
- Nach einem Ausfall erfolgt der Neustart innerhalb von 30 Sekunden.
- Falsche Eingaben dürfen keinen Absturz auslösen.
Die Kriterien prüfen unterschiedliche Eigenschaften. Deshalb werden sie nicht als eine einzige Anforderung behandelt.
Bei einem funktionalen Ablauf können Vorbedingung, Eingabe, Verarbeitung und erwartete Ausgabe den Test strukturieren.
Anwendungsfall: Vorlesung eintragen
- Aktor: Dozent
- Eingaben: Raum, Zeit und Titel
- Prüfung: Das System kontrolliert, ob der Raum zur gewünschten Zeit belegt ist.
- Erfolgsfall: Bei freiem Raum speichert das System den Eintrag und zeigt die Vorlesungsdaten an.
- Fehlerfall: Bei belegtem Raum speichert das System keinen Eintrag und zeigt eine Fehlermeldung.
Ein passender Test belegt den Raum zunächst mit einer anderen Vorlesung und versucht dann einen zweiten Eintrag zur selben Zeit. Erwartet werden kein neuer Eintrag und eine Fehlermeldung. Damit ist der Fehlerfall objektiv prüfbar.
Anforderungen aus einem Szenario ableiten
Gehe bei einer informellen Beschreibung schrittweise vor:
- Markiere beteiligte Personen oder Systeme.
- Suche gewünschte Funktionen und erwartete Ergebnisse.
- Trenne Qualitätswünsche und Randbedingungen von den Funktionen.
- Zerlege verbundene Aussagen in atomare Anforderungen.
- Kläre mehrdeutige Begriffe mit den zuständigen Stakeholdern.
- Formuliere zu jeder ausgewählten Anforderung ein prüfbares Akzeptanzkriterium.
- Prüfe Widersprüche, Abhängigkeiten, Machbarkeit und Priorität.
Szenario: Ein Dozent gibt Raum, Zeit und Titel ein. Ist der Raum frei, wird die Vorlesung gespeichert und angezeigt. Ist er belegt, darf kein Eintrag entstehen; stattdessen erscheint eine Fehlermeldung.
Daraus lassen sich diese atomaren Anforderungen ableiten:
- F1: Das System nimmt Raum, Zeit und Titel als Eingaben entgegen.
- F2: Das System prüft die Raumbelegung für die eingegebene Zeit.
- F3: Bei freiem Raum speichert das System den Vorlesungseintrag.
- F4: Nach erfolgreicher Speicherung zeigt das System den Vorlesungseintrag an.
- F5: Bei belegtem Raum speichert das System keinen Vorlesungseintrag.
- F6: Bei belegtem Raum zeigt das System eine Fehlermeldung an.
Akzeptanzkriterium für F5: Existiert bereits ein Eintrag für denselben Raum zur selben Zeit, bleibt die Zahl der gespeicherten Einträge nach dem Versuch unverändert.
Akzeptanzkriterium für F6: Existiert bereits ein Eintrag für denselben Raum zur selben Zeit, erscheint nach dem Versuch eine Fehlermeldung.
Die Kennungen machen die Anforderungen identifizierbar. F3 bis F6 hängen vom Ergebnis der Prüfung F2 ab; F4 setzt zusätzlich die erfolgreiche Speicherung aus F3 voraus. Diese Beziehungen müssen bei Planung und Test berücksichtigt werden.
Eine hohe Einzelpriorität garantiert noch kein nutzbares Teilsystem. Zusammengehörige und voneinander abhängige Anforderungen müssen gemeinsam betrachtet werden. Eine Eingabemaske ohne Speicherung oder eine Speicherung ohne verständliche Rückmeldung kann für die Nutzung wertlos sein.
Karteikasten
Überlege zuerst selbst und drehe die Karte anschließend zum Prüfen um.
Alles auf einen Blick
- Anforderungsanalyse
- Ermitteln: Bedürfnisse und Konflikte erkennen
- Dokumentieren: Anforderungen eindeutig festhalten
- Prüfen: Qualität, Machbarkeit und Widersprüche untersuchen
- Abstimmen: gemeinsames Verständnis herstellen
- Verwalten: Kennungen, Prioritäten und Änderungen pflegen
- Anforderungsarten
- Funktional: Was tut das System?
- Qualität: Wie gut tut es das?
- Randbedingung: Welche Grenze gilt?
- Gute Anforderungen
- eindeutig, verständlich und atomar
- überprüfbar, konsistent und nachvollziehbar
- Vom Wunsch zum Test
- Szenario zerlegen
- Akzeptanzkriterium formulieren
- Testfall mit erwartetem Ergebnis ableiten
Abschluss-Check
Du kannst eine Anforderungsanalyse erfolgreich durchführen, wenn du unklare Wünsche in getrennte Anforderungsarten überführst, Mehrdeutigkeiten abstimmst und für jede zentrale Anforderung einen nachvollziehbaren Testweg formulierst.
Mit Google fortfahren