Wie abstrakt dürfen Anforderungen sein?
Formale Spezifikationen sind häufig nicht nachvollziehbar und verfehlen ihren Zweck. Der Mensch orientiert sich an Beispielen - ein hilfreiches Konzept zur Erarbeitung aussagekräftiger Spezifikationen.

» Von , 15.07.2009 06:00.
Michael Richter ist Berater für Usability und Requirements Engineering bei Zühlke und Lehrbeauftragter an der Hochschule für Technik Rapperswil
Spezifikationen beschreiben die Anforderungen und Rahmenbedingungen für die Entwicklung einer neuen Software oder eines neuen Produkts. Sie bilden die Basis für die Implementierung einer neuen Lösung. Zudem sind sie ein wichtiges Kontrollinstrument: Anhand der Spezifikationen können Beteiligte und Auftraggeber überprüfen, ob alle benötigten Funktionen und Anforderungen enthalten und korrekt beschrieben sind.
Oft sind die Beschreibungen und Modelle aber dermassen abstrakt, dass ihre Bedeutung für die Praxis kaum mehr vorstellbar ist. Dies birgt die Gefahr, dass falsche oder fehlerhafte Anforderungen erst spät im Entwicklungsprozess aufgedeckt werden; Mängel werden erst erkannt, wenn die Anwendung implementiert und damit sichtbar ist. Nachträgliche teure Änderungen sind die Folge. Zudem besteht ein grosses Risiko, dass sich die entwickelte Lösung schliesslich nicht in die Geschäftsprozesse integriert und die Benutzer ihre Aufgaben nicht wie geplant oder gar nicht erfüllen können.
Es ist und bleibt Wunschdenken, dass eine detaillierte Auflistung von Anforderungen ausreicht, um eine Software-Anwendung vollständig zu definieren. Die Verantwortlichen für die Entwicklung müssen in jedem Fall Entscheidungen treffen. Im besseren Fall stützen sie sich dabei auf ihr gutes Verständnis der Benutzerbedürfnisse, im schlechteren Fall basieren die Entscheide auf falschen Annahmen. Eine gute Spezifikation sollte deshalb nicht nur formale Anforderungen enthalten, sondern auch ein Verständnis für die Anwendung im Einsatz vermitteln.
Selbstverständlich ist es nicht möglich, alle erdenklichen Fälle der täglichen Arbeit auszuformulieren, welche durch das neue System unterstützt werden sollen. Es ist auch nicht sinnvoll, technische Details der vorgesehenen Lösung vorwegzunehmen. Generalisierungen und Abstraktionen in einer Spezifikation sind deshalb durchaus notwendig.
Spezifikation am Beispiel

Szenarien beschreiben einen typischen Ablauf mit der vorgesehenen neuen Lösung
Wie aber können Beispiele zu diesem Zweck effizient erarbeitet und eingesetzt werden? Was zeichnet ein gutes Beispiel aus? Aus dem Usability Engineering sind einige praktische Methoden bekannt, die ein beispielorientiertes Vorgehen in der Software- und Produktentwicklung unterstützen und Antworten auf diese Fragen liefern können.







KOMMENTARE
KOMMENTAR SCHREIBEN