Publikationen

Eric Werner Knauss:
»Verbesserung der Dokumentation von Anforderungen auf Basis von Erfahrungen und Heuristiken«

Auch 40 Jahre nach der Software-Krise haben Organisationen Schwierigkeiten, funktionierende Software zu liefern, die die Kundenwünsche in ausreichender Qualität erfüllt. Dies ist zu einem beträchtlichen Teil auf mangelhaftes Requirements Engineering zurückzuführen: Wenn wichtige Aspekte der Anforderungen nie geklärt oder sogar missverstanden werden, führen offene Fragen dazu, dass Entwickler durch deren Klärung aufgehalten werden oder die Lücken durch eigene Annahmen schließen. Beides kann zu späten, grundlegenden Änderungen, einem hohen Mehraufwand und schlimmstenfalls zu einem für den Kunden unbrauchbaren Produkt führen. Auf diese Weise scheitern Projekte, verspäten sich oder überschreiten ihr Budget deutlich. Systematische und präzise Dokumentation von Anforderungen hilft, weil sie eine intensive Analyse der Anforderungen erfordert. Häufig können so versteckte Widersprüche entdeckt werden, die sonst erst bei der Implementierung oder Inbetriebnahme aufgefallen wären. Gute Anforderungsdokumentation erleichtert es Qualitätsmanagern zu prüfen, ob alle Anforderungen erfüllt sind. Projektmanager schätzen den Aufwand und kontrollieren den Fortschritt auf Basis dokumentierter Anforderungen. Vor allem erlaubt gute Anforderungsdokumentation den Entwicklern, sich auf die Umsetzung zu konzentrieren, statt Lücken mit dem Kunden zu klären – eine Aufgabe, für die sie meistens nicht ausgebildet sind. Trotz der Schlüsselfunktion von Anforderungen wird das Requirements Engineering oft vernachlässigt. Möglichst schnell wollen Kunden Ergebnisse sehen und Manager mit der Erstellung der Lösung beginnen. Die Aufgabenklärung wird zu wenig als Teil der Lösungserbringung gesehen. Kürzere Releasezyklen und Time-to-Market bauen zusätzlichen Zeitdruck auf. Organisationen müssen unter hohem Zeitdruck und mit beschränkten Ressourcen die Anforderungen immer komplexerer Systeme in hoher Qualität dokumentieren. Erfahrung ist bei diesem Ziel einer der wichtigsten Erfolgsfaktoren. Viele Organisationen greifen daher auf erfahrene externe Berater zurück, oder lassen ihre Erfahrung und Reife formal bestimmen und verbessern. Diese Arbeit zeigt einen systematischen Ansatz, wie Organisationen vorhandene Erfahrungen mit dem etablierten Dokument- und Vorgehensmodell besser nutzen und ausbauen können. Dazu wird untersucht, wie Computer die Erstellung natürlichsprachlicher Anforderungsdokumente unterstützen können, die sich etablierten Verfahren wie Model-Checking oder Simulation verschließen. Dabei wird kein spezielles Dokument- oder Vorgehensmodell vorausgesetzt. Die Arbeit belegt eine Korrelation zwischen Qualität von Anforderungsdokumenten und Projekterfolg: Projekte mit schlechten Anforderungen scheitern öfter. Meistens gibt es für inhaltliche Probleme der Anforderungen syntaktische Indikatoren. Computer sind in der Lage, diese Indikatoren automatisch zu nutzen und dem Analysten mit entsprechenden Hinweisen zu helfen, möglicherweise vorliegende inhaltliche Probleme zu erkennen und zu beheben. Das Konzept, syntaktischen Indikatoren automatisch auszunutzen um einen hilfreichen Hinweis zu geben, wird in dieser Arbeit als heuristische Kritik bezeichnet. Heuristische Kritiken erlauben es, die Erfahrungen einer Organisation abzubilden und sind ein Weg, um Erfahrungen computerbasiert bei der Dokumentation von Anforderungen anzuwenden. So können relevante Erfahrungen effizient gefunden, aktiviert und um neue Erfahrungen ergänzt werden. Die Arbeit zeigt die wichtigsten Eigenschaften solcher erfahrungsbasierter Werkzeuge des Requirements Engineering. Jede dieser Eigenschaften wird empirisch evaluiert. Die Beiträge dieser Dissertation sind i) ein konzeptionelles Modell über den Zusammenhang von computerbasierter Analyse natürlichsprachlicher Anforderungen und Erfahrungsmanagement, ii) eine Strategie zur empirischen Untersuchung dieses Zusammenhangs und iii) wichtige Datenpunkte zum Potential dieses Ansatzes.