Gemeinsames Arbeiten mit Anforderungen – Was kann dabei schon schief gehen?

Blog-Serie – Teil 1 von 6

In klassischen Entwicklungsmodellen (z.B. V-Modell, Wasserfallmodell) ist es entscheidend, zu einem bestimmten Zeitpunkt eine Anforderungsspezifikation einzufrieren und freizugeben, um eine stabile Basis für die weiteren Entwicklungsdisziplinen zu schaffen. Die Anforderungen innerhalb einer Anforderungsspezifikation sollten bis zum Zeitpunkt der Freigabe von Anforderungsänderungen in dem letztgültigen Stand vorliegen. Doch was ist der letztgültige Stand einer Anforderung?

Diese Frage ist selbst dann nicht so leicht zu beantworten, wenn die komplette Anforderungsspezifikation von einem oder einer Autor*in geschrieben wird.
Ein Beispiel: Für die Weiterentwicklung eines Systems wird die vorhandene Anforderungsspezifikation erweitert. Dazu müssen die Anforderungen für die neuen Funktionen entwickelt werden und dürfen nicht in Widerspruch zu den vorhandenen Anforderungen stehen.

Vielleicht fragen Sie sich jetzt: Wo ist das Problem?
Im Regelfall kommen bei einer Weiterentwicklung nicht nur Anforderungen hinzu (das wäre unkritisch, weil vorhandene freigegebene Anforderungen unverändert bleiben), sondern es verändern sich auch bestehende Anforderungen oder bestehende Anforderungen entfallen und werden gelöscht. (Übrigens: Das Löschen von Anforderungen thematisieren wir in einer separaten Blogserie.)
Werden Veränderungen an den Anforderungen über einen Status gepflegt, haben die veränderten Anforderungen einen anderen Status (z.B. „in Development“) als der letztgültige (z.B. „freigegeben“) (vgl. in Abbildung 2 Anforderungen A3v3 und A3v4).
Wie in der Abbildung zu sehen, müssen die letztgültigen Anforderungen aus mehreren Baselines gesammelt werden. Eine Baseline (oder auf Deutsch: Basislinie) ist ein eingefrorener Stand einer Menge von Anforderungen, die für die weitere Entwicklung genutzt werden soll. Professionelle RM-Tools können typischerweise nur eine ganze Anforderungsspezifikation einfrieren. Deshalb sind in Baseline v1, v2 und v3 auch Anforderungen zu finden, die sich im Status „in Bearbeitung“ befinden. Für diese Probleme gilt es, Lösungen zu finden, um den letztgültigen Stand aller Anforderungen zu sammeln und die Anforderungsspezifikation freigeben zu können.

Die Komplexität erhöht sich jedoch nochmal erheblich, wenn mehrere Autor*innen an der Entwicklung einer Anforderungsspezifikation beteiligt sind. In diesem Fall müssen sich die Autor*innen darüber abstimmen, wann die Anforderungsspezifikation als fertiggestellt gilt. Bei mangelnder Abstimmung können Fehler auftreten, wie zum Beispiel, dass Autor 1 die Anforderungen von Autorin 2 zur Freigabe einreicht, bevor Autorin 2 die Anforderungsentwicklung tatsächlich abgeschlossen hat. Es wäre schon eine Hilfe, wenn es in allen professionellen RM-Tools möglich wäre, nur ausgewählte Anforderungen einfrieren zu können. Doch selbst wenn es Tools gibt, die einen Teil der Anforderungen in der Anforderungsspezifikation einfrieren können, so würde dies dazu führen, dass mehrere inhaltlich voneinander getrennte Baselines für eine Anforderungsspezifikation entstünden, die für die Freigabe beachtet werden müssten und deren Zusammenhänge und Abhängigkeiten zusätzlich bereitgestellt werden müssten. Hier gilt es, Lösungen zu finden, die eine Abstimmung zwischen mehreren Anforderungsautoren gewährleisten und Arbeitsstände der Anforderungsautor*innen in einen konsolidierten Stand überführen, bevor die Anforderungsspezifikation zur Freigabeüberprüfung übergeben wird.

Um die angesprochenen Probleme zu lösen und das gemeinsame Arbeiten mit Anforderungen erfolgreich zu gestalten, gibt es folgende Ansätze:

  • Einsatz von Statusmodellen
  • Der Einsatz von Systemverantwortlichen, welche die Abstimmung zwischen den Anforderungsautoren gewährleisten
  • Verwendung von Branches und Baselines
  • Verwendung einer geeigneten Ablagestruktur für Anforderungen innerhalb der Anforderungsspezifikation

In dieser Blogserie werden wir in spezifischen Blogbeiträgen auf jeden einzelnen Ansatz eingehen, Vor- und Nachteile erläutern und Situationen nennen, in denen der ein oder andere Ansatz mehr oder weniger sinnvoll ist. Seien Sie gespannt und freuen Sie sich auf die nächsten Blogbeiträge!

Falls die beschriebenen Probleme auch in Ihrem Unternehmen an die Oberfläche treten, zögern Sie nicht, sich an unseren Vertrieb zu wenden.
Wir bieten Ihnen maßgeschneiderte Lösungen und unterstützen Sie dabei, Ihre Anforderungsentwicklung zu verbessern.

Viele Grüße, Ihre SOPHISTen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert