Qualitätskriterien für Anforderungsdokumentationen

1. Korrektheit

Jede Anforderung an eine Software muss fachlich bzw. inhaltlich korrekt sein. Fehlerhafte Beschreibungen von Anforderungen führen später unweigerlich zu fachlich falschen Ergebnissen. Das Durchdenken der realen Prozesse hilft bei der Ermittlung korrekter Inhalte. Korrektheit kann besonders gut durch mehrere Reviews sichergestellt werden.

2. Vollständigkeit

Die gewählten Formulierungen müssen die gewünschten Funktionali­täten vollständig beschreiben. Die Detailtiefe ist dabei so zu wählen, dass damit unbeteiligte Dritte alle Anforderungen erfassen können. Inhalt­liche Lücken führen bei der späteren Umsetzung häufig zu Budget- und Terminüberschreitungen: Was anfangs nicht bekannt war, konnte vor Beginn auch nicht eingeplant werden.

3. Konsistenz

Es dürfen keine widersprüchlichen Anforderungen enthalten sein. Spätestens bei der Programmierung führen Widersprüche zu Problemen. Bei komplexen Lösungen hilft eine übersichtliche Struktur und klare Gliederung des Lastenhefts, um durch Inkonsistenz bedingte Termin- oder Budgetüberschreitungen zu vermeiden.

4. Eindeutigkeit

Die Beschreibung einer Anforderung ist in dieser Hinsicht optimal, wenn sie keinen Raum für Interpretationen zulässt. Je größer der Inter­pretationsspielraum, umso weiter kann die Erwartung der Vertrags­partner auseinanderliegen. Aufgabe eines Systemanalysten ist z. B., diese Spielräume zu erkennen und sie gemeinsam mit den Fachverantwort­lichen durch eine höhere Detailtiefe der Anforderungsbeschreibung zu minimieren.

5. Prüfbarkeit

Aus jeder Anforderung muss klar hervorgehen, wie deren Umsetzung bei Abnahme geprüft wird und welche objektiven Prüfverfahren und -Kriterien dabei zur Anwendung kommen. Nur dann kann eine fachliche Abnahme Vertragsbestandteil werden. Relative, nicht messbare Anforderungen sowie subjektive Prüfkriterien sollten in einer Anforderungsdokumentation nicht vorkommen.

6. Durchführbarkeit

Jede Anforderung muss realisiert werden können. Obwohl technisch vieles möglich ist, muss es projektbezogen nicht immer wirtschaftlich sinnvoll sein. Die Verantwortung eines Systemanalysten ist, technisch anspruchsvolle Anforderungen zu erkennen und ggf. kostengünstigere Alternativen zu erarbeiten.

7. Verfolgbarkeit

Jede Anforderung ist eindeutig identifizierbar. Ein klar gegliedertes Lastenheft hilft bei der Verfolgung von Anforderungen. Insbesondere bei komplexeren Sachverhalten, bei denen mehrere Bereiche miteinander im Zusammenhang stehen, muss klar sein, wo was steht.

8. Priorisierung

Jede Anforderung sollte eine Umsetzungspriorität besitzen. Damit Änderungen und evtl. Budgetkürzungen nicht essentielle Kernbereiche treffen, sind unwichtige Anforderungen von wichtigen (Haupt-) Anforderungen zu unterscheiden.