Abstract
Aktuelle Studien zeigen, dass sich viele Unternehmen nach wie vor mit der Durchführung effizienter und effektiver Aktivitäten im Bereich Requirements Engineering schwertun. Unternehmensspezifische, maßgeschneiderte Anforderungsprozesse haben ein großes Potential, dieser Herausforderung zu begegnen. Dieser Beitrag beschreibt einen neuartigen Ansatz, mit dessen Hilfe unternehmensspezifische Anforderungsprozesse semi-automatisch definiert und werkzeuggestützt durchgeführt werden können, um damit eine nachhaltigere und vor allem wertbringendere Durchführung dieser Disziplin zu erzielen.
Einleitung
Der RE Kompass 2014 / 2015 [1] hat aufgezeigt, dass sich eine Vielzahl von Unternehmen nach wie vor grundsätzlichen Fragestellungen im Bereich Requirements Engineering ausgesetzt sehen, wie z.B.:
- Welcher Detailgrad von Anforderungen ist angemessen/notwendig? (69% der befragten Unternehmen)
- Welche Anforderungstypen müssen erhoben werden? (37% der befragten Unternehmen)
- Wie können die Anforderungen sinnvoll erhoben und dokumentiert werden? (35% der befragten Unternehmen)
Diese Unklarheiten führen in knapp der Hälfte der Unternehmen zu mehrdeutigen und unvollständigen Spezifikationen, mit entsprechend negativen Konsequenzen innerhalb der Projekte [1].
Obwohl existierende Literatur- und Schulungsangebote [2] [3] [4] mit guten Best Practices zur Erhebung und Dokumentation von Anforderungen aufwarten, lassen sich die oben genannten Fragestellungen oft nur kontext- bzw. unternehmensspezifisch beantworten. Es ergibt sich somit ein hohes Potential für maßgeschneiderte Anforderungsprozesse, um eine effektive und effiziente Arbeitsweise während der Anforderungserhebung und -dokumentation im jeweiligen Unternehmensumfeld zu gewährleisten.
Bei der Einführung und erfolgreichen Durchführung solch individueller Prozesse stoßen Unternehmen allerdings auf zahlreiche weitere Herausforderungen, wie etwa bei der
- Festlegung einer sinnvollen Erhebungsreihenfolge für Anforderungen,
- einfachen Durchführbarkeit der Erhebungs- und Dokumentationsaufgaben durch die Projektbeteiligten (insbesondere auch für Beteiligte ohne tiefgehende Expertise und Erfahrung im Requirements Engineering),
- Entlastung von rein administrativen, nicht-wertbringenden Tätigkeiten des Requirements Engineerings, wie z.B. der Verknüpfung von Anforderungen,
- Abbildung definierter Vorgehensweisen in Werkzeugen für das Requirements Engineering, ohne dabei Flexibilität einzubüßen.
Insbesondere beim letzten Punkt kommt hinzu, dass für die Anforderungsdokumentation in rund 80% aller Unternehmen (nach wie vor) Standardbüroanwendungen wie MS Office® eingesetzt werden [1]. Einerseits sind diese Produkte beliebt, da sie bekannt und weit verbreitet sind und eine einfache, gewohnte Verwendung bieten. Andererseits stößt man gerade durch die Nutzung solcher Standardsoftware oft an die Grenzen, wenn Arbeitsschritte während der Anforderungserhebung und -dokumentation effizienter gestaltet werden sollen. Sollen diese Produkte nicht gänzlich abgelöst werden, muss auch dies bei der Maßschneiderung von Anforderungsprozessen berücksichtigt werden.
In diesem Artikel wird ein werkzeuggestützter Ansatz vorgestellt, der die Einführung und Durchführung maßgeschneiderter Anforderungsprozesse in Unternehmen optimiert. Ziel dieses Ansatzes ist es, zum einen unternehmensspezifische Anforderungsprozesse effektiv und effizient durchführen zu können, aber auch die zuvor genannten, sich daraus ergebenden speziellen Herausforderungen während der Einführung gezielt zu adressieren. Dazu wird das innovative Werkzeug „ReqSuite®“ eingesetzt, mit Hilfe dessen individuelle Anforderungsprozesse konzeptionell abgebildet und mit Hilfe gängiger Office-Software bearbeitet werden können.
Eine werkzeuggestützte Methodik zur Einführung und Durchführung flexibler, maßgeschneiderter Anforderungsprozesse
Die Methode zur werkzeuggestützten Einführung maßgeschneiderter Anforderungsprozesse besteht aus insgesamt vier Schritten (siehe Abbildung 1), die im Folgenden detaillierter erläutert werden. Dabei gilt zu berücksichtigen, dass die ersten drei Schritte einmalige Schritte zum Aufsetzen eines Anforderungsprozesses darstellen und somit in der Regel nur einmal durchlaufen werden müssen. Schritt 4 wird hingegen mehrmals, d.h. einmal pro Projekt durchgeführt.

Schritt 1 – Informations- und Dokumentationsbedarf ermitteln: In einem Workshop werden zunächst mit den RE-Beteiligten des Unternehmens die individuellen Informationsbedarfe in typischen RE-Projekten ermittelt. Dies könnten beispielsweise bestimmte Anforderungstypen, domänenspezifische Anforderungsstrukturen sowie weitere Informationen sein, die in den Anforderungsdokumenten enthalten sein sollen. Dazu wird zunächst der aktuelle RE-Prozess analysiert. Dies kann im Workshop beispielsweise mittels Kartenabfrage realisiert werden, in dem alle Beteiligten ihre Aktivitäten sowie benötigte und gelieferte Informationen während der Erstellung der Anforderungsspezifikation darstellen. So können auch Schnittstellen zu nachgelagerten Prozessen, wie beispielsweise dem Änderungs- und Testmanagement, identifiziert und analysiert werden. Daneben werden bereits existierende Anforderungsdokumente betrachtet, um weitere Informationsbedarfe zu erkennen. Dabei werden neben Inhalten auch Beschreibungsvorlagen und Notationen betrachtet, die sich in der Unternehmenspraxis etabliert haben oder die sinnvollerweise im Unternehmen zukünftig genutzt werden könnten. Zur Optimierung des gesamten Anforderungsprozesses fließen neben etwaigen eigenen Verbesserungsvorschlägen der Unternehmensbeteiligten auch Expertenwissen sowie etablierte Best Practices aus der Literatur ein.
Schritt 2 – Anforderungsstruktur ableiten: Im nächsten Schritt werden die Analyseergebnisse mit Hilfe einer domänenspezifischen Sprache dokumentiert. Hierbei wird im ersten Schritt die Struktur der Anforderungstypen und begleitenden Informationen abgebildet. Beispielsweise kann hier definiert werden, dass Systemfunktionen immer in Anwendungsfällen Verwendung finden, welche wiederum Geschäftsprozessaktivitäten in Geschäftsprozessen unterstützen (siehe Abbildung 2).

Die Abbildung dieser Struktur ist nicht nur wichtig und sinnvoll, um die Verfolgbarkeit der Anforderungen zu gewährleisten, sondern ist auch maßgebliche Grundlage für die spätere Prozessunterstützung (siehe Schritt 4). Dieses Modell bildet somit das logische „Denkmodell“, das hinter dem Anforderungsprozess steht und das im Rahmen eines konkreten Projektes mit Inhalt zu befüllen ist.
Auf Basis der Ergebnisse aus Schritt 1 wird dann für jeden Anforderungstyp bzw. Informationsbaustein definiert, wie die Dokumentation der zugehörigen Anforderungen bzw. Informationen im Rahmen eines Projektes zu erfolgen hat. Dabei wird unter anderem festgelegt, ob die Beschreibung textuell (bspw. mittels bestimmter natürlichsprachiger Satzschablonen) oder grafisch (bspw. mittels UML- Modellen) erfolgen soll und welche Attribute (bspw. Priorität) für die verschiedenen Anforderungs- bzw. sonstigen Inhaltstypen zu pflegen sind. Im Beispiel aus Abbildung 2 könnte z. B. für den Anforderungstyp „Geschäftsprozess“ definiert werden, dass jeder in der Anforderungsspezfikation zu beschreibende Prozess mittels einer grafischen Prozessbeschreibung, wie bspw. BPMN, und zusätzlich mittels einer tabellarischer Kurzbeschreibung anhand diverser Attribute spezifiziert werden soll.
Die so formalisierte Beschreibung wird in das Werkzeug ReqSuite® importiert und dort automatisch in einen adaptiven Anforderungsworkflow transformiert. Daneben wird eine unternehmensspezifische Vorlage des Anforderungsdokumentes im Werkzeug hinterlegt, in das die eigentlichen Anforderungen und Inhalte später auf Knopfdruck exportiert werden können. Hierin kann der Nutzer beispielsweise festlegen, welche Inhalte aus der Datenbasis in welcher Form im Dokument erscheinen sollen. Aufgrund dieser strikten Trennung von Inhalt und Repräsentation können Anforderungen somit bedarfsweise anders erfasst und dokumentiert werden, als sie letztendlich im Anforderungsdokument repräsentiert werden sollen. Entsprechend können auch mehrere Vorlagen hinterlegt werden, wenn z.B. später aus den Daten unterschiedliche Dokumente erstellt werden sollen (z.B. ein Lastenheft und eine Testspezifikation).
Schritt 3 – Existierende Anforderungen importieren: In zahlreichen Unternehmen werden Systeme nicht von Grund auf neu entwickelt, sondern kontinuierlich ergänzt und um neue Funktionen erweitert. Dies schlägt sich auch auf den entsprechenden Anforderungsprozess wieder, da oft Anforderungen aus alten Projekten wiederverwendet werden können oder sogar müssen. Aus diesem Pool von bestehenden Anforderungen sollte zwecks Effizienzsteigerung in zukünftigen Projekten eine explizite Wiederverwendungsbasis aufgebaut werden, um die Risiken eines clone-&-own-Ansatzes zu vermeiden. Dazu werden relevante Anforderungen aus Altprojekten identifiziert, indem z. B. alte Anforderungsdokumente gesichtet werden. Hierbei sollten die Anforderungen auf Aktualität überprüft werden, um keine veralteten Anforderungen zu übernehmen. Da der Aufbau einer Wiederverwendungsbasis sehr aufwändig ist, kann ReqSuite® in diesem Schritt eingesetzt werden, um Anforderungen in geeigneter Form aus Word- oder Excel-Dokumenten automatisiert in eine zentrale Wiederverwendungsbibliothek zu importieren.
Schritt 4 – Requirements Engineering Prozess durchführen: Die eigentliche Durchführung des Anforderungsprozesses basiert auf dynamisch zur Laufzeit festgelegten Arbeitsschritten, die den Nutzern durch das Werkzeug ReqSuite® bereitgestellt werden. Im Gegensatz zu herkömmlichen Requirements Management Werkzeugen [5] unterstützt ReqSuite®, das sich clientseitig in Microsoft Office® Produkte integriert (siehe Abbildung 3), somit nicht nur die Spezifikation und Verwaltung von Anforderungen, sondern insbesondere auch den gesamten Prozess der inhaltlichen Herausarbeitung von Anforderungen.

Die auf Expertenwissen basierenden Algorithmen von ReqSuite® sind dabei in der Lage, eine sinnvolle Reihenfolge für die Herausarbeitung der relevanten Anforderungen vorzuschlagen. Dazu generiert das Werkzeug zur Laufzeit im sogenannte Process Guide (siehe unterer Teil in Abbildung 3) für jeden Prozessschritt einen Satz präziser Arbeitsanweisungen, um die Projektbeteiligten schrittweise durch die einzelnen Erhebungs- und Dokumentationsaufgaben zu führen. Vergleichbar mit Programmen zur Erstellung von Steuererklärungen stellt das Werkzeug dabei durch die kontinuierliche Abfrage und Qualitätsprüfung gewünschter Informationen sicher, dass die resultierenden Anforderungen in sich vollständige Inhalte in der gewünschten Form beinhalten.
Dabei ist der Prozess nicht statisch, sondern das Werkzeug agiert während der gesamten Anwendung stets adaptiv, was bedeutet, dass eine Reihenfolge von Arbeitsschritten weder vorab definiert noch genau befolgt werden muss. Stattdessen passen sich die Arbeitsschritte auf Basis der bereits erhobenen Anforderungen zur Laufzeit an. Dies trägt dem Sachverhalt Rechnung, dass sich aufgrund des schnelllebigen Charakters von Projekten Anforderungsprozesse einerseits ohnehin nicht in Form starrer Abläufe formalisieren lassen, andererseits selten dem gewünschten Vorgehen der Projektbeteiligten bei der Anforderungsanalyse entsprechen.
Die Bearbeiter können daher jederzeit die empfohlenen Schritte ignorieren und eigenständig andere Bearbeitungen durchführen. Dazu stellt ReqSuite® den sogenannten Content Manager (siehe rechter Teil in Abbildung 3) bereit, in dem die Anforderungen, sowie weitere Informationsinhalte und deren Beziehungen angelegt und gepflegt werden können. Das Werkzeug schlägt jedoch immer – anhand der bekannten Optionen zum weiteren Vorgehen und unter Berücksichtigung etwaiger Einschränkungen – den sinnvollsten nächsten Arbeitsschritt vor.
Diese Prozessunterstützung hilft insbesondere auch Projektbeteiligten ohne einschlägige Expertise im Requirements Engineering, an der Erstellung von Anforderungsdokumenten zielführend mitzuwirken. Eine Projektfortschrittsanzeige zeigt dabei stets den aktuellen Stand der Anforderungserhebung an.
Die Eingabe der Details für Anforderungen erfolgt direkt in Microsoft Office® bzw. über Popups, die von ReqSuite® bereitgestellt werden und die auf der zuvor hinterlegten Konfiguration für den jeweiligen Anforderungstyp basieren. In jedem Schritt lassen sich zudem die einzelnen Anforderungen sowie gesamte Anforderungsstrukturen aus anderen Projekten bzw. aus der Wiederverwendungsbasis importieren, um somit die Nutzung bereits existierender Dokumentation erheblich zu beschleunigen.
Erfahrungen aus der Praxis
Gerade für Unternehmen, die sich in ihrem Projektgeschäft oft in Spezialthemen oder abseits von RE-Standards bewegen, ist ein hohes Maß an Individualität in ihren Anforderungsprozessen erfolgsentscheidend, um sowohl Akzeptanz für Requirements Engineering bei den eigenen Mitarbeitern als auch beim Kunden zu erzielen.
So konnte durch die hohe Anpassbarkeit des hier beschriebenen Ansatzes gepaart mit seiner systematischen Anleitung bei Pilotkunden aus unterschiedlichen Branchen bereits eine effizientere Projektarbeit ermöglicht werden.
Dies war insbesondere dem Fakt geschuldet, dass mit Hilfe des individuell konfigurierten Werkzeugs Anforderungen vollständiger und konsistenter erhoben und dokumentiert werden konnten und somit weniger Rückfragen aufgrund unvollständiger oder unklarer Anforderungen notwendig waren. Insbesondere Mitarbeitern, die bis dato noch wenig praktische Erfahrung im Requirements Engineering hatten, konnte der Ansatz helfen, die eigenen Aufgaben durch eine Fokussierung auf wesentliche, inhaltliche Aspekte zu verbessern. Da bei der Erhebung und Dokumentation von Anforderungen oft sehr unterschiedliche Vorgehensweisen in der Praxis gewählt werden müssen – abhängig von den Rahmenbedingungen und je nach Verfügbarkeit der Stakeholder – stellt dies eine erhebliche Unterstützung für Unternehmen dar.
Bei der HK Business Solutions konnte beispielsweise gezeigt werden, dass durch die adaptive Prozessanleitung selbst unerfahrenere Mitarbeiter systematisch bei einer strukturierten Vorgehensweise mit Top-down-Ansatz unterstützt werden können. Dies beginnt bei Aktivitäten, die sehr früh im Entwicklungsprozess anzusiedeln sind, z. B. bei der Erstellung von Produktvisionen und dem Festlegen von Systemkontext und -umfang und endet schließlich bei der Konsistenz- und Vollständigkeitsprüfung sämtlicher erstellten Anforderungsartefakte. Viele Fehler, die typischerweise durch unvollständige, missverständliche oder fehlerhafte Anforderungen entstehen, können durch diese Unterstützung und durch die systematische Wiederverwendung bereits erfasster und qualitätsgesicherter Anforderungen vermieden werden.
Messbare Mehrwerte des Ansatzes sind somit eine höhere Vollständigkeit, Qualität und Einheitlichkeit von Anforderungsdokumenten und eine damit einhergehende Aufwandsersparnis im Gesamtprojekt bzw. bei den Wartungs- und Supportkosten. Dies ist insofern ein bedeutender Mehrwert, als dass laut RE-Kompass [1] Unvollständigkeit und uneinheitliche Detailtiefe von Anforderungen in 48% bzw. sogar 69% aller Unternehmen die größten Mängel von Anforderungsdokumenten gegenwärtig darstellen.
Auch wenn der Aufwand für den Anforderungsprozess selbst aufgrund der strukturierten Herangehensweise kaum verkürzt werden kann, bestätigen jedoch alle Anwender, dass ihre Aufgaben in der Anforderungsanalyse deutlich vereinfacht und beschleunigt werden konnten. Die Einführung des neuen RE-Ansatzes wird dadurch erleichtert, dass der Ansatz auf vertrauter Standardbürosoftware basiert; dies sorgte für einfaches Ausrollen und ermöglichte ein schnelles Zurechtfinden der Anwender. Auch hilft die sukzessive Führung durch verschiedene Schritte des Prozesses das unternehmensindividuelle Vorgehen im Requirements Engineering besser zu verinnerlichen.
Fazit
Maßgeschneiderte Anforderungsprozesse sind unabdingbar, um das Thema Requirements Engineering erfolgreich in Unternehmen zu verankern. Die Festlegung und Durchführung solcher Unternehmensprozesse stellt jedoch für viele Unternehmen eine zusätzliche Herausforderung dar. Dieser Artikel schlägt daher einen neuartigen, werkzeuggestützten Ansatz vor, um die Maßschneiderung und spätere Anwendung von individuellen Anforderungsprozessen bestmöglich zu unterstützen.
Literatur
- Adam, S., Wünch, C., Seyff, N.: RE-Kompass 2014/2015 – Ergebnisbericht, http://www.re-kompass.de
- Pohl, K., Rupp, C.: Basiswissen Requirements Engineering, dpunkt (2011)
- Rupp, C.: Requirements-Engineering und -Management: Aus der Praxis von klassisch bis agil, Carl Hanser (2014)
- Wiegers, K., Beatty, J.: Software Requirements, Pearson Education (2013)
- Birk, A., Heller, G.: List of Requirements Management Tools, http://makingofsoftware.com/ re-sources/list-of-rm-tools
Autoren
Dr. Norman Riegel ist Geschäftsführer der OSSENO Software GmbH und verantwortet primär die Bereiche Beratung, Qualitätssicherung und Administration. Er ist IREB-zertifizierter Requirements Engineer und agiert selbst als Trainer für CPRE. Vor der Gründung der OSSENO Software GmbH arbeitete er bereits als Berater, Trainer und Wissenschaftler für Requirements Engineering am Fraunhofer IESE. Parallel zu seiner Arbeit promovierte er an der TU Kaiserslautern zum Thema „Effiziente Anforderungserhebung auf Basis von Geschäftsprozessen“.
Dr. Sebastian Adam ist Geschäftsführer der OSSENO Software GmbH und verantwortet hier die Bereiche Produktinnovation sowie Marketing und Vertrieb. Er ist IREB-zertifizierter Requirements Engineer und agiert selbst als Trainer für CPRE. Nach seinem Studium der Angewandten Informatik arbeitete er zehn Jahre als Berater, Wissenschaftler und Teamleiter für Requirements Engineering am Fraunhofer IESE und promovierte parallel dazu an der TU Kaiserslautern zum Thema „Wiederverwendungsorientierte Anforderungserhebung“.
Hartmut Schmitt ist Koordinator Forschungsprojekte bei der HK Business Solutions GmbH. Er ist seit 2006 in Verbundvorhaben auf den Gebieten Mensch-Computer-Interaktion, Usability, User Experience und Requirements Engineering tätig.