Fraunhofer IESE - Teil 5 Werkzeuge / Tools für Anforderungsdokumentation

Anforderungsdokumentation (5/5): Welche Art von Werkzeugen benötige ich für die Anforderungsdokumentation?

Dieser Artikel ist der letzte in einer fünfteiligen Reihe von Blog-Artikeln des Fraunhofer IESE, welche sich mit Anforderungsdokumentation beschäftigt. Gilt die Dokumentation von Anforderungen in klassischen Projekten als Standard, wird sie in agilen Kontexten eher gemieden, da sie als unangemessener Mehraufwand verstanden wird. Wir haben analysiert, wie diese Wahrnehmung entstehen kann und wie die Dokumentation in agilen Projekten umgesetzt werden kann, sodass ihre Vorteile überwiegen. Dazu haben wir im ersten Teil dieser Reihe untersucht, warum Anforderungen überhaupt dokumentiert werden. Im zweiten Teil haben wir thematisiert, dass es nie darum ging, die Anforderungsdokumentation bei der agilen Entwicklung ganz entfallen zu lassen, sondern dass diese weiterhin ein integraler Bestandteil des Entwicklungsansatzes ist. Damit Requirements Engineering jedoch in agilen Umgebungen funktioniert, müssen bestimmte Herausforderungen bewältigt werden, die wir in Teil 3 beschrieben haben. Im vierten Teil ging es darum, wie sich das Hindernis eines möglichen Chaos, das durch ein Auswuchern der Dokumentation entstehen kann, verhindern lässt. In diesem abschließenden Teil analysieren wir, welche Werkzeuge für die Anforderungsdokumentation verwendet werden können, um in agilen Kontexten eine Bereicherung darzustellen.

Dieser Blog-Post ist der erste Teil einer fünfteiligen Serie von Artikeln zum Thema Anforderungsdokumentation.

 

① Warum eine Anforderungsdokumentation erstellen?
Teil 1 untersucht, warum Anforderungen überhaupt dokumentiert werden.

② Der Mythos „Keine Dokumentation“ für agile Anforderungen
Teil 2 untersucht, wie die Anforderungsdokumentation agil bleiben kann, ohne Chaos zu verursachen.

③ Typische Herausforderungen bei der Dokumentation agiler Anforderungen

Teil 3 untersucht wie Dokumentation eine konstruktive Rolle in einer agilen Umgebung spielen kann.

④ Dokumentationsumfang eingrenzen bei der Dokumentation agiler Anforderungen

Teil 4 untersucht, wie das Chaos verhindert wird, dass durch ein Auswuchern der Dokumentation entstehen kann.

⑤ Welche Art von Werkzeugen benötige ich für die Anforderungsdokumentation?

Teil 5 untersucht, welche Werkzeuge für die Anforderungsdokumenationen verwendet werden, um in agilen Kontexten eine Bereicherung darzustellen.

Für die Unterstützung eines Anforderungsdokumentationsprozesses können verschiedene Arten von Werkzeugen verwendet werden. So ist beispielsweise im agilen Entwicklungsumfeld der Einsatz von Wikis und Issue-Tracking-Systemen zum De-facto-Standard geworden, aber trotz ihrer Vorteile für die agile Entwicklung haben solche Werkzeuge auch deutliche Nachteile im Hinblick auf das Anforderungsmanagement. Je nach Art unterstützen Werkzeuge die kurz- und langfristige Speicherung von Anforderungen, gewähren nur Stakeholdern mit der richtigen Berechtigung Zugang, verwalten Beziehungen, stellen Artefakte in verschiedenen Formaten bereit oder sichern die Qualität sowohl der Anforderungsspezifikation als auch des gesamten Projekts.

In Zusammenarbeit mit der OSSENO Software GmbH, einem Spin-off des Fraunhofer IESE, mit dessen Gründer Dr. Sebastian Adam wir diesen Artikel schreiben, haben wir untersucht, welche Faktoren die Auswahl geeigneter Werkzeuge für ein bestimmtes Projekt oder Arbeitsumfeld beeinflussen. Zu diesen Faktoren gehört u.a., wie einfach sich darin Anforderungen dokumentieren lassen, welcher Grad an Anforderungsmanagement erforderlich ist und wie es mit der Erfüllung von Nachhaltigkeitsanforderungen aus Industriestandards oder dem Wunsch, Anforderungen in weiteren Projekten wiederzuverwenden, steht. Um eine solche Bewertung vornehmen zu können, ist ein besseres Verständnis der Stärken und Schwächen einzelner Werkzeugarten nötig. Aus diesem Grund liefern wir in diesem Beitrag eine Begründung für den Einsatz von Werkzeugen für das Requirements Engineering und besprechen verschiedene Arten von Werkzeugen gemäß einem Reifegradmodell.

Wozu dienen Werkzeuge im Requirements Engineering?

Professionelle Software- und Systementwicklung ist ohne Werkzeugunterstützung nicht skalierbar. Auch wenn der agile Wert „Individuen und Interaktionen sind wichtiger als Prozesse und Werkzeuge“ betont, dass die persönliche Interaktion im Projektteam wichtiger als der Einsatz von Werkzeugen und Prozessen ist, sind letztere dennoch unverzichtbare Mittel, um Projekte überhaupt effektiv und effizient durchführen zu können.

Eine Entwicklungsorganisation benötigt deshalb neben Werkzeugen zum Codieren und Testen auch Werkzeuge zum Verwalten und Verfolgen der Projektanforderungen. Ohne einen klaren Überblick über die zu implementierenden Anforderungen und die zu erfüllenden Aufgaben ist die Planung und Kontrolle eines Projekts nahezu unmöglich.

Unabhängig davon, ob der Entwicklungskontext agil, traditionell oder hybrid ist, zielen Werkzeuge im Rahmen des Requirements Engineering darauf ab, die Dokumentation und Verwaltung von Anforderungen zu unterstützen, d.h. Anforderungen für alle an einem Projekt beteiligten oder von einem Projekt betroffenen Personen in digitaler Form verfügbar und über die Zeit nachvollziehbar zu machen.

Neben spezialisierten Werkzeugen für das Requirements Engineering, den so genannten Requirements-Management-(RM-)Werkzeugen, haben auch andere Arten von Werkzeugen, die ursprünglich für andere Zwecke entwickelt wurden, Anwendung im Requirements Engineering gefunden. Der deutsche RM-Hersteller OSSENO Software hat deshalb ein Reifegradmodell für Werkzeuge im Requirements Engineering entwickelt (siehe Abbildung), das die typischen fünf im Anforderungsmanagement eingesetzten Werkzeugarten, von einfachen Bürowerkzeugen bis hin zu erweiterten RM-Werkzeugen, aufzeigt.

 

Fraunhofer IESE - Werkzeuge für das Anforderungsmanagement - Reifegradmodell für Requirements Engineering
Das OSSENO-Reifegradmodell: Tools für Requirements Engineering (Anforderungsmanagement)

Übersicht der Werkzeugarten im Requirements Engineering

Office-Werkzeuge wie Word oder Excel werden in fast jedem Unternehmen eingesetzt. Aufgrund ihrer weit verbreiteten Verwendung und ihres täglichen Einsatzes stellen sie keine Zugangsbarrieren für Anwender dar und sind daher die einfachste Wahl für Personen, die mit der Dokumentation von Anforderungen beauftragt sind. Tatsächlich sind Office-Tools nach wie vor die meistverwendeten Werkzeuge für das Requirements Engineering, auch wenn sie keine spezifische Funktionalität für diese Aufgabe bieten. Dennoch erlauben sie es, Anforderungen digital zu dokumentieren und zu speichern und in Kapiteln (Word) oder in einer Matrix (Excel) zu organisieren. Trotz des Vorteils der Verwendung gängiger Dokumente, die einen einfachen Austausch mit anderen Personen und Werkzeugen ermöglichen, sind solche Office-Dokumente oft schwer zu pflegen und die Qualität der Anforderungen selbst stark von den Autoren abhängig. Darüber hinaus erfordern Praktiken der Anforderungsverwaltung wie Rückverfolgbarkeit, Versionierung, Workflows & Views oder Analyse & Reporting einen hohen manuellen Aufwand.

Wikis wie MediaWiki oder kommerzielle Unternehmens-Wikis wie Confluence werden in vielen Unternehmen eingesetzt, um einen gemeinsamen und zentralen Wissens- und Informationsspeicher aufzubauen. Aufgrund ihrer weit verbreiteten Anwendung und ihrer Fähigkeit, Inhalte von verschiedenen Personen zu verlinken, sind sie heute ein beliebtes Mittel zur Anforderungsdokumentation. Auch wenn sie keine spezifischen Funktionen für das Requirements Engineering bieten, stellen sie dennoch grundlegende Mechanismen für die Zusammenarbeit, Versionierung und Verknüpfung zur Verfügung, die für einen solchen Zweck hilfreich sind. Ihre Unterstützung für Anforderungsdokumenation und -verwaltung hat im Allgemeinen die gleichen Einschränkungen wie Office-Tools, nur dass sie die Verknüpfung und Versionierung unterstützen.

Issue-Tracking-Systeme wie JIRA sind beliebte Werkzeuge zur Organisation von Tickets und Aufgaben in Entwicklungsprojekten oder Serviceorganisationen und werden daher häufig eingesetzt. Auch wenn sie ursprünglich nicht zur Unterstützung der Aktivitäten des Requirements Engineering gedacht waren, haben mehrere Unternehmen damit begonnen, diese Tools zu diesem Zweck einzusetzen, da im Gegensatz zu den oben genannten Werkzeugarten mit Issue-Trackern Anforderungen sehr gut atomar dokumentiert und verfolgt werden können. Sie eignen sich deshalb auch zur Unterstützung von Workflows. Allerdings leiden Issue-Tracking-Systeme oft unter Kompatibilitätsproblemen zu anderen Tools und wurden ursprünglich nicht dafür konzipiert, eine große Anzahl von Anforderungen zu verwalten, sodass in größeren Projekten die gesamte Anforderungspalette schnell überladen werden kann. Darüber hinaus bieten sie nur begrenzte Unterstützung für Analyse und Reporting und für Vorhaben, die zu weit über die vordefinierte Struktur des Systems hinausgehen.

Klassische RM-Werkzeuge wie DOORS oder Polarion zielen ausdrücklich darauf ab, die spezifischen Aufgaben bei der Anforderungsdokumentation und -verwaltung zu unterstützen. Im Gegensatz zu den oben genannten Werkzeugarten bieten RM-Werkzeuge spezielle Funktionen zur Unterstützung von Requirements-Engineering-Aktivitäten. Dazu gehört die Erstellung von Sichten auf Teilmengen von Anforderungen, Reporting, automatischer Import und Export von Anforderungen, Baseline-Management und systematische Wiederverwendung. Auch wenn sie i.d.R. keine Funktionalität bieten, die bei der Durchführung anderer Requirements Engineering-Aktivitäten wie Validierung oder Erhebung hilft, unterstützen sie doch die Organisation von Anforderungen besonders gut und ermöglichen viele Aspekte, die von den zuvor diskutierten Werkzeugarten nicht abgedeckt werden. Leider geht dies oft auf Kosten der Benutzerfreundlichkeit und der Erlernbarkeit des Systems, wodurch diese Tools in der Regel nur von Experten genutzt werden können.

Erweiterte RM-Werkzeuge wie ReqSuite oder Qualicen Scout bieten zusätzlich zu den oben genannten Standardfunktionen eines RM-Werkzeugs intelligente Arbeitsunterstützung sowohl für die Dokumentation und das Management von Anforderungen, als auch die Erhebung und Qualitätssicherung. Ein weiteres Unterscheidungsmerkmal zu den traditionelleren RM-Werkzeugen ist die einfachere Handhabung, da sie versuchen, die Komplexität vor dem Anwender zu verstecken und zu kapseln. Insbesondere um auch Nicht-Experten gezielt zu unterstützen, bieten sie auch praktische Begleitung von Prozessen und kollaborativen Szenarien, z.B. durch intelligente Empfehlungen, welche Schritte zu unternehmen sind und wie Anforderungen zu dokumentieren sind, und durch Qualitätsprüfungen textbasierter Anforderungen unter Aspekten wie Vollständigkeit, Konsistenz und Verknüpfungen. Wie bei den klassischen RM-Werkzeugen erfordern sie jedoch Konfigurationsaufwand, bieten nur begrenzte Möglichkeiten zur Änderung der vordefinierten Struktur und sind nur teilweise für andere Aufgaben als das Anforderungsmanagement anwendbar.

Modellierungswerkzeuge bilden eine zusätzliche Kategorie von Werkzeugen, die häufig zusätzlich zu den Werkzeugen zur Dokumentation und Verwaltung von Anforderungen eingesetzt werden. Da diese Werkzeuge nicht darauf abzielen, die Anforderungsdokumentation und -verwaltung zu unterstützen, sind sie nicht Teil des Reifegradmodells, sondern sollten als ergänzende Art von Werkzeug betrachtet werden, das eine wichtige Rolle im Requirements Engineering spielt. Insbesondere zur Veranschaulichung komplexer Aspekte eines Systems werden oft Modelle verwendet, um diese Aspekte verständlicher zu machen. In dieser Hinsicht helfen Modellierungswerkzeuge dabei, textuelle Anforderungen mit grafischen Informationen wie UML- oder BPMN-Diagrammen oder mit Screen-Mockups zu ergänzen. Beliebte Modellierungswerkzeuge sind Enterprise Architect für UML, Adonis oder Signavio für BPMN oder Balsamiq für den Entwurf von Benutzeroberflächen. Sie können daher als komplementäre Werkzeugfamilie betrachtet werden, deren Ergebnisse (d.h. Modellbilder) als Anhang zu den textlichen Anforderungen in einem der oben genannten Werkzeuge gespeichert werden können.

Wahl eines Werkzeugs für das Requirements Engineering

Das Requirements Engineering benötigt Werkzeuge. Je nach individueller Projektsituation und Komplexität sind verschiedene Werkzeugarten am besten geeignet. Während Office-Werkzeuge immer noch in eher kleinen und traditionell gestalteten Projekten eingesetzt werden können, sind Wikis und Issue-Tracking-Systeme eine gute Wahl für agile Projekte mittlerer Größe. Für langfristige Projekte oder größere Projekte sind spezialisierte RM-Werkzeuge jedoch eher die bessere Wahl. Besonders erweiterte RM-Werkzeuge können in Umgebungen mit einer hohen Anzahl von Anforderungen und/oder begrenzter Erfahrung der beteiligten Personen große Vorteile bringen, da eine manuelle Qualitätssicherung und die korrekte Einhaltung eines systematischen Verfeinerungsansatzes in einer solchen Situation nahezu unmöglich sind.

Das Fraunhofer IESE verfügt über umfangreiche Erfahrungen, wenn es darum geht, zu beurteilen, unter welchen Projektumständen eine bestimmte Werkzeugart angemessen, teilweise ausreichend oder nicht ausreichend ist. Kontaktieren Sie uns, wenn Sie Beratung bei der Auswahl des am besten geeigneten Tools oder Werkzeugsets bzw. Unterstützung bei der Einführung von Tools in Ihrem Unternehmenskontext benötigen!