Das Formulieren von Anforderungen als Prosa birgt erhebliche Risiken. Versteht der Leser nicht, was der Autor beschreibt, dann können später die Kosten für das Vorhaben explodieren! Die Alternative: Mit Anforderungsschablonen das Beschreiben der Anforderungen normieren.
Häufig werden Anforderungen in natürlicher Sprache verfasst. Der Vorteil: Man benötigt weder zusätzliches Fachwissen im requirements engineering noch zusätzliche Hilfsmittel. Und alle anderen verstehen einen – glaubt man. Auch wenn es auf Grund der eigenen sprachlichen Fähigkeiten gelingt, die Anforderungen unmissverständlich und präzise zu formulieren, ist damit nicht gesagt, dass die sprachlichen Fähigkeiten des Lesers ausreichen, die Anforderungen auch so zu verstehen, wie sie auf dem Papier stehen.
Das Formulieren von Anforderungen hat einen Zweck und stellt eine Form der Kommunikation dar. Wenn der Leser die Anforderung also nicht so versteht, wie sie der Autor versteht, dann ist das Kommunikationsziel nicht erreicht worden – selbst wenn der Autor sprachlich perfekt formuliert hat!
Das normierte Beschreiben von Anforderungen
Es ist deshalb sinnvoll, die sprachlichen Ausdrucksmöglichkeiten für das Formulieren von Anforderungen einzuschränken. Dies wird durch das normierte Beschreiben von Anforderungen erreicht. Eine Möglichkeit hierfür hat SOPHIST mit der SOPHIST-Anforderungsschablone geschaffen:
Erläuterungen:
Jede Anforderung bezieht sich auf das zu bauende System: Das zu bauende System ist deshalb das Subjekt. Mit einem Hilfsverb wird die Verbindlichkeit der Anforderung definiert: MUSS, SOLLTE und WIRD bezeichnen verschiedene Stufen der Verbindlichkeit. Anschließend wird – falls erforderlich – die Art der geforderten Funktionalität genauer festgelegt. Hierfür wird zwischen selbständiger Systemaktivität (FÄHIG SEIN), Benutzerinteraktion (DIE MÖGLICHKEIT BIETEN) und der Interaktion über eine Schnittstelle – Schnittellenanforderung – unterschieden. Nun wird das Objekt genannt, auf welches sich die Anforderung bezieht, gefolgt von einem Prozesswort, welches die geforderte Funktionalität bezeichnet.
Die in der Anforderungsschablone definierte grammatische Struktur stellt die Vorlage dar, nach der Anforderungen formuliert werden. Das ist prüfbar, ohne dass der Prüfer die Anforderung fachlich verstehen muss. Der Vorteil besteht darin, dass die sprachlichen Möglichkeiten für den Verwendungszweck „Anforderung“ erheblich eingeschränkt sind. Im Ergebnisorientierten Verarbeiten von Anforderungen (E.VA) wird eine solche Einschränkung der sprachlichen Möglichkeiten als „strukturierte Prosa“ bezeichnet.
Die E.VA Anforderungsschablone
Obwohl die SOPHIST-Anforderungsschablone prinzipiell auch für das Beschreiben von Anforderungen in E.VA geeignet ist, eröffnen sich durch E.VA einige Vereinfachungsmöglichkeiten, welche die E.VA Anforderungsschablone nutzt:
Es gibt folgende Unterschiede (im Bild rot gekennzeichnet):
- Als Subjekt kann jeder beliebige E.VA-Artefakt verwendet werden.
- Die Verbindlichkeit wird NICHT in der Anforderung selbst festgelegt.
- Es ist zulässig, die Anforderung negativ zu formulieren (Negation ist zulässig).
- Es gibt nur die Systemaktivität und die Nutzerinteraktion als Art der geforderten Funktionalität.
Das Verwenden eines beliebigen E.VA-Artefakts als Subjekt vereinfacht das Formulieren und Verstehen der Anforderung. Die strukturelle Information zu den Zusammenhängen zwischen den E.VA-Artefakten befindet sich in E.VA an anderer Stelle. Damit werden auch unnötige Redundanzen vermieden!
Die Herauslösung der Verbindlichkeit aus der Anforderung hat rein praktische Gründe: Die Verbindlichkeit einer Anforderung steht nicht von Anfang an fest – sie kann sich im Laufe der Analyse ändern. Spätestens bei der Auseinandersetzung um die Kosten des Vorhabens stehen alle Anforderungen auf dem Prüfstand. Da ist es praktisch, die Verbindlichkeit als Spalte in einer Tabelle zu pflegen, statt im Anforderungstext selbst. In der Tabelle legen dann MUSS, SOLL oder KANN die Verbindlichkeit konkret fest.
Die Möglichkeit, eine Anforderung als Verbot zu formulieren, wurde hinzugefügt: Es gibt Fälle, in welchen die positive Formulierung nicht möglich ist oder nur erheblich zu Lasten der Einfachheit der Beschreibung geht. Das Beschreiben einer solchen Anforderung vereinfacht sich dann deutlich, wenn man die Negation benutzen kann. Der Vorrang einer positiven Formulierung bleibt davon allerdings unberührt.
Der Wegfall der Unterscheidung zwischen Benutzerinteraktion und Schnittstellenanforderung ist wie beim Subjekt darauf zurückzufühen, dass sich strukturelle Information zu den Zusammenhängen zwischen den E.VA-Artefakten in E.VA an anderer Stelle befindet. Auch hier werden wieder unnötige Redundanzen vermieden!
Die Anforderungsschablonen gibt es – wie hier dargestellt – als Schablone ohne Einschränkung (unbedingte Anforderungsschablone) und zusätzlich als Schablone mit Einschränkung (bedingte Anforderungsschablone). Beide Schablonen liegen zudem sowohl in Deutsch als auch Englisch vor.
Fazit
Die SOPHIST-Anforderungsschablone eignet sich zwar grundsätzlich auch zum Beschreiben von Anforderungen in E.VA. Die aus ihr abgeleitete E.VA-Anforderungsschablone vereinfacht allerdings das Beschreiben der Anforderungen, indem sie sich die Eigenschaften des E.VA zu nutze macht. Dies hat folgende Vorteile:
- Vereinfachtes Beschreiben der Anforderungen
- Vermeidung von Redundanzen
- Vereinfachung der Pflege
Zusammengenommen bewirkt dies eine Einsparung von Zeit bei gleichzeitig steigender Qualität der Anforderungen.
Da die E.VA-Anforderungsschablone von der SOPHIST-Anforderungsschablone abgeleitet ist, können Sie vorhandenes Wissen und Literatur hierzu weiter nutzen. Ein Nachteil beider Anforderungsschablonen sollte aber nicht verschwiegen werden: Ein Katalog von solchen Anforderungen hat keine literarischen Qualitäten.