Reinventing Quality

ERROR: Content Element with uid "6638" and type "dce_dceuid16" has no rendering definition!

"Optionally, an e-mail is sent": Erfahrungen mit automatisierter Erkennung schlechter Anforderungen

Natürliche Sprache ist heute immer noch das primäre Mittel, um Anforderungen zu dokumentieren. Anforderungen in natürlicher Sprache sind einfach zu erstellen und für alle Stakeholder lesbar. Natürliche Sprache eröffnet allerdings auch das Risiko sich unpräzise oder missverständlich auszudrücken. Sind Anforderungsdokumente schlecht geschrieben, so hat das Auswirkungen auf das gesamte Projekt: Missverständliche Anforderungen führen zu unnötigen Aufwand durch Rückfragen, zu Fehlinterpretation und letztlicher zu Fehlern in der Software. Kompliziert formulierte Anforderungen erhöhen den Aufwand beim Lesen und verringern den Nutzen der Anforderungsdokumente.

Um eine hohe Qualität von Anforderungsdokumenten sicher zu stellen, haben sich Reviews als effektives Mittel zur Identifikation von Qualitätsproblemen bewährt. Hierbei werden Anforderungsdokumente manuell inspiziert und Qualitätsdefekte angemerkt. So effektiv diese Methode auch ist, so aufwendig ist sie: Sowohl die Überprüfung durch die verschiedenen Reviewer, als auch Koordination und Kommunikation der Review-Ergebnisse sind zeitaufwändige Aktivitäten. Neben dem hohen Aufwand haben manuelle Reviews auch den Nachteil langer Feedback-Zeiten: Eine Feedback-Schleife kann mehrere Tage oder sogar Wochen in Anspruch nehmen, bis der Autor Rückmeldungen auf das Dokument bekommt.

Die Folge aus hohen Kosten und langen Feedback-Zeiten ist, dass manuelle Reviews oft nur unregelmäßig durchgeführt werden. Insbesondere unter Zeitdruck werden Reviews häufig vernachlässigt. Unserer Erfahrung nach hängen viele Review-Kommentare zudem nicht mit inhaltlichen Problemen zusammen, sondern beziehen sich auf ungenaue Formulierungen, Abweichungen von der Unternehmens-Guideline oder ähnliche Defekten. Derartige Anmerkungen kosten in Review-Meetings unnötige Zeit und gehen zu Lasten der Konzentration auf schwere, inhaltliche Probleme.

Techniken zur automatischen Textanalyse sind in den letzten Jahren immer mächtiger geworden: Viele verbreitete Qualitätsmängel in Anforderungsdokumenten lassen sich inzwischen automatisch finden. Beispiele sind missverständliche Formulierungen oder komplizierte Sätze. Auch komplexe Defekte, bspw. Anforderungen, die den Lösungsraum einschränken oder falsche Bezüge in Use Cases lassen sich mit heutigen Techniken aufdecken. In diesem Vortrag stellen wir Requirements Smells vor: Wir beschreiben Techniken und Tooling zum automatischen Auffinden von verbreiteten Qualitätsdefekten in Anforderungsdokumenten. Wir gehen anhand eines konkreten Beispiels auf unsere Erfahrungen beim Einsatz von Requirements Smells bei Munich Re ein und zeigen auf, welche Möglichkeiten sich dadurch bieten und welche Grenzen die heutigen Methoden haben.

Maximilian Junker, Qualicen GmbH

Maximilian Junker hat in München und Augsburg (Software Engineering) studiert und promoviert über modelbasiertes Requirements Engineering an der Technischen Universität München. Er ist Mitgründer undGeschäftsführer bei der Qualicen GmbH. Seit 5 Jahren berät er Requirements Engineers und Test Engineers bei der Verbesserung ihrerAnforderungen und Tests. Zu Themen rund um Requirements Engineering und Tests hält er regelmäßig Vorträge für Forschung und Industrie.