Blog-Serie – Teil 2 von 6
In diesem Blogbeitrag möchten wir Ihnen zeigen, welchen Anteil Statusmodelle zur Lösung der Probleme beitragen können, welche Vor- und Nachteile dabei zum Vorschein kommen können und wann Statusmodelle sinnvoll sind.
Im ersten Blogbeitrag haben wir folgende Erkenntnisse gewonnen:
- Innerhalb einer Anforderungsspezifikation ist es gar nicht so leicht, zu erkennen, welche Stände der Anforderungen innerhalb einer Anforderungsspezifikation für die Freigabe relevant sind.
- Bei der Zusammenarbeit mehrerer Autor*innen an einer Anforderungsspezifikation ist Abstimmungsbedarf nötig, um die Anforderungsspezifikation konsistent zu halten und eine Freigabe der Anforderungsspezifikation erwirken zu können
Zuallererst klären wir jedoch die Frage, was ein Statusmodell überhaupt ist. Dazu haben wir ChatGPT gefragt und folgende Antwort bekommen:
Ein Statusmodell ist eine Darstellung oder Beschreibung, die den aktuellen Zustand oder die Position eines bestimmten Systems, Prozesses oder Objekts beschreibt. Es wird oft verwendet, um den Fortschritt oder die Entwicklung eines bestimmten Bereichs zu verfolgen und zu analysieren.
Oder mit unseren Worten: Ein Statusmodell ist eine Darstellung möglicher Status (oder Zustände), in die ein Objekt eingehen kann und durch welche Aktionen Statusübergänge ausgelöst werden. Betrachtete Objekte sind in unserem Fall Anforderungen (siehe Abbildung 1). Um ein Statusmodell aufzubauen, können Sie beispielsweise das Zustandsdiagramm aus der UML nutzen. Tools haben in der Regel Mechanismen parat, um ein Statusmodell zu konfigurieren und kompakt in einem Diagramm darzustellen.
In Abbildung 1 sehen Sie, welche Status eine Anforderung einnehmen kann. Die konkrete Ausprägung des Statusmodells ist von dem Entwicklungsmodell und dem Zweck der Verwendung des Statusmodells abhängig. Ein agileres Entwicklungsmodell wird andere Status erfordern als ein eher klassisches Entwicklungsmodell. Je nachdem, ob ein Unternehmen nur die reine Anforderungsentwicklung mit einem Statusmodell verfolgen möchte (z.B. Anforderung ermittelt, dokumentiert, Anforderung abgestimmt) und/oder den Stand der Gesamtentwicklung (z.B. Design, Umsetzung und Test) aus den Anforderungen ablesen möchte, ergeben sich andere oder zusätzliche Status. Ein weiterer Faktor können Unternehmens-, Branchen-, produktspezifische und Gesetzesvorschriften sein, die bei der Konfiguration des Statusmodells eingehalten werden müssen.
Vorteile:
Statusmodelle bieten eine Hilfestellung, um den Prozess der Anforderungsdokumentation zu durchlaufen. Anforderungsautor*innen und Mitarbeitende in angrenzenden Entwicklungsaktivitäten können erkennen, in welche Status Sie Anforderungen verschieben können. In welche Status Sie die eine konkrete Anforderung verschieben können, hängt vom aktuellen Status der Anforderung ab. Aus dem Statusmodell lässt sich auch erkennen, welche Aktionen durchzuführen sind, um einen Statusübergang auszulösen.
Gängige professionelle RM-Tools bringen Statusmodelle für Anforderungen von Haus aus mit. Sie lassen sich zudem meist kontextabhängig konfigurieren.
Nachteile:
Die im ersten Blogbeitrag identifizierten Probleme werden nur teilweise durch ein Statusmodell gelöst.
Problem 1:
Innerhalb einer Anforderungsspezifikation ist gar nicht so leicht zu erkennen, welche Stände der Anforderungen innerhalb einer Anforderungsspezifikation für die Freigabe relevant sind.
Bei Änderung der Anforderung muss der letzte Stand der freigegebenen Anforderung zur Freigabe miteingebracht werden, die diesen Status durch die Änderung aber nicht mehr hat. Hier gilt es also, zusätzliche Lösungen zu finden, um einen freigegebenen Stand einer Anforderung zu einem bestimmten Zeitpunkt aufrufen zu können.
Problem 2:
Bei der Zusammenarbeit mehrerer Autoren an einer Anforderungsspezifikation ist Abstimmungsbedarf nötig, um die Anforderungsspezifikation konsistent zu halten und eine Freigabe der Anforderungsspezifikation erwirken zu können
Das Problem der Zusammenarbeit mehrerer Autor*innen an einer Anforderungsspezifikation kann durch ein Statusmodell nur bedingt gelöst werden. Es ist möglich, zu definieren, dass Anforderungen in gewissen Status zu einer Freigabe gebracht werden dürfen, jedoch bezieht sich eine Freigabe in der Regel auf die ganze Anforderungsspezifikation. Hat also ein oder eine Autor*in die Anforderungsentwicklung abgeschlossen, die Anforderungen befinden sich in einem Status, der zur Freigabe berechtigt und es gibt Anforderungen von Autor*innen, die sich nicht in einem freigabeberechtigenden Status befinden, so ist dies eine Indikator dafür, dass eine Abstimmung stattfinden sollte. Die Abstimmung selbst kann das Statusmodell jedoch nicht gewährleisten. Es sind weitere Mechanismen nötig, um die Abstimmung zu gewährleisten.
Ein weiterer Nachteil hängt vom Umfang des Statusmodells ab. Je umfangreicher das Statusmodell wird, umso eher leidet die Akzeptanz der Benutzer*innen.
Fazit:
Statusmodelle helfen dabei, sich im Prozess der Anforderungsdokumentation wiederzufinden, reichen aber allein nicht aus, um das gemeinsame Arbeiten mit Anforderungen zu gewährleisten. Deshalb ist es wichtig, die Statusmodelle mit weiteren Lösungen zu ergänzen.
Im nächsten Blogbeitrag gehen wir auf den Einsatz eines oder einer Systemverantwortlichen ein. Wir beantworten die Frage, wie eine oder ein Systemverantwortliche*r zur Koordination & Abstimmung von Inhalten mehrerer Autor*innen in einer Anforderungsspezifikation helfen kann. Seien Sie gespannt und freuen Sie sich auf die nächsten Blogbeiträge!
Falls Sie Prozesse rund um die Anforderungsdokumentation in einem Tool abbilden möchten, helfen wir Ihnen gerne dabei. Wir stehen Ihnen mit Rat und Tat zur Seite, um Ihren Prozess bestmöglich im Tool abzubilden. Melden Sie sich dazu gerne bei unserem Vertrieb!
Viele Grüße,
Ihre SOPHISTen