MID GmbH

              Leistungen          Kundenservice          Downloads            Unternehmen

Sich nicht gegenseitig ein Bein stellen - Änderungsmanagement bei MDSD

Bei modellbasierter Entwicklung in großen Teams erzeugen fachliche Änderungen oft konkurrierende Zustände – im selben Modell.

"Veränderung ist die einzige Konstante" – Wie sehr diese kleine Weisheit in IT-Projekten zutrifft, wissen wir alle aus eigener Erfahrung. Nicht nur an uns stellt diese Tatsache besondere Anforderungen, auch an unsere Werkzeuge. Um während der Projektlaufzeit (oder auch während des Produktivbetriebs) auftretende Bugs oder Change-Requests richtig zu priorisieren, zu kategorisieren, in die Entwicklung einzusteuern und nachzuverfolgen gibt es bereits viele hervorragende Produkte.

Was jedoch, wenn das Projekt modellbasiert arbeitet? Fachliche Fehler oder Änderungsanforderungen beziehen sich oft auf viele verschiedene Modellelemente, die Einarbeitung in das Modell kann sich dabei auch über einige Tage oder sogar Wochen hinziehen.

SIch nicht gegenseitig ein Bei stellen - Änderungsmanagement bei MDSD.png

Das kollaborative Arbeiten am Modell stößt hier schnell an seine Grenzen. Während die Business-Analysten  noch einen Change-Request einarbeiten, generieren Softwareentwickler parallel Code aus dem Modell. Bei übergreifenden oder wiederverwendeten Komponenten werden hier möglicherweise inkonsistente oder fehlerhafte Artefakte erstellt.

Der erste Schritt zu einer Lösung dieser Probleme ist das Arbeiten mit Modellversionen. Im Rahmen von Übergabeartefakten wird ein feststehender Modellstand als eine Version behandelt und entlang des Entwicklungsprozesses von den unterschiedlichen Disziplinen weiter bearbeitet.

Dieser Ansatz hilft allerdings noch nicht dabei, die tatsächlich für einen Bug oder Change-Request im Modell durchgeführten Änderungen zu identifizieren. Aus einer einzeiligen Prosa-Änderungsanforderung können Änderungen an beliebig vielen Modellelementen und Diagrammen resultieren. Diese Änderungen müssen von jedem, der an der Bearbeitung der Änderungsanforderung beteiligt ist, im gleichen Maße nachvollzogen werden können.

Eine pragmatische und gleichzeitig sehr effektive Lösung hierzu ist die Verknüpfung aller Modelländerungen durch Traces mit einem Modellelement, welches den Fehler oder die Änderungsanforderung repräsentiert. Innovator  ermöglicht durch seine weitreichende Konfigurierbarkeit die Erstellung u.a. von neuen Elementtypen und Abhängigkeitsbeziehungen.

In unserem Kundenprojekt haben wir eine Lösung hierfür wie folgt konfiguriert:
Im Konfigurationseditor ist im zu ändernden Profil neben der Erstellung des Stereotyps "Änderungsanforderung" vom Obertyp "Anforderung" auch eine Anlegeschablone für den neuen Elementtyp anzulegen. Bei den Beziehungseigenschaften muss diesem Element ein Besitzer zugewiesen werden, dies ist im Regelfall ein generisches Paket oder ein abgeleiteter Stereotyp zur exklusiven Ablage von Änderungsanforderungen.
Zur Darstellung der Abhängigkeit zu anderen Modellelementen ist nun noch ein neuer Stereotyp des generischen Elements "Abstraktion" anzulegen, in unserem Beispiel "referenziert Änderung". Als Besitzer sind diesem Stereotyp nun alle Modellelementtypen zuzuweisen, die von einer Änderungsanforderung betroffen sein können, also Klassen, Attribute, Aktivitäten, Kontrollflusskanten usw. Das Ziel dieser Abstraktion ist nun unser neu geschaffener Stereotyp "Änderungsanforderung".
Damit neue Änderungsanforderungen im Modell angelegt und verknüpft werden können, müssen die Anlegeschablonen noch im Menü Benutzerrechte der entsprechenden Rolle zugewiesen werden.

Zurück im Modell kann nun eine neue Änderungsanforderung erstellt werden.
Die Änderungsanforderung wird mit allen Modellelementen verbunden, die von der Änderung betroffen sind. Sei es ein Entscheidungsknoten in einem Aktivätsdiagramm, eine Serviceoperation oder das Attribut einer Fachklasse - jedes geänderte Element kann nun eindeutig identifiziert werden. Durch eine Verknüpfung über Hyperlinks ist ein Sprung vom Modell zu dem entsprechenden Item im Bugtracking-System und zurück möglich. Ein Link zu einem webbasierten Bugtracking-System kann einfach in den Spezifikationstext der Änderungsanforderung mit eingefügt werden. Ein Link zu dem Innovator-Element der Änderungsanforderung kann ebenso in das Bugtracking-System eingetragen werden (STRG+W erzeugt einen Innovator-Link).

SIch nicht gegenseitig ein Bei stellen - Änderungsmanagement bei MDSD2.png

Auf diese Weise können Änderungen sicher und vollständig im Modell verfolgt werden, der Entwickler kann bei der Bearbeitung eines Bugs nun ganz einfach auf die Modelländerungen zugreifen und den Code schnell und vollständig anpassen.
Unser Kunde hat dieses Vorgehen bereits in seinen Softwareentwicklungsprozess übernommen. Der Nutzen dieser Vorgehensweise stellt sich bei jeder fachlichen Änderung aufs Neue unter Beweis.
Nicht nur die Kommunikation innerhalb des Projekts, zwischen Business Analysten und Entwicklern, ist bezüglich Änderungen effektiver geworden, auch das Releasemanagement und die Kommunikation mit den Auftraggebern haben sich dadurch maßgeblich verbessert.

Jörg Hänfling

geschrieben von Jörg Hänfling

Jörg Hänfling organisiert als Product Manager bei MID die Weiterentwicklung von Innovator. Seine vorhergehende Tätigkeit als Berater in Softwareentwicklungsprojekten im Geschäftsprozess- und SOA-Umfeld liefert ihm das Wissen um die Herausforderungen beim praktischen Einsatz von Modellierung und Modellierungstools. Als Anwendungsentwickler und IT-Revisor im Versicherungsumfeld bringt er zudem langjährige Erfahrung in der kaufmännischen Softwareentwicklung mit.

<< Zurück

Relevante Posts:

MID Blog

Hier bloggen Mitarbeiter der MID und eingeladene Gastautoren zu Themen rund um die Modellierung. Bleiben Sie auf dem Laufenden und lassen Sie sich per Email über neue Blogbeiträge informieren.

Neue Beiträge per Mail

Autoren

Interessieren Sie sich für ein Thema, dass wir bisher noch nicht behandelt haben? Oder haben Sie Fragen oder Anmerkungen zu einem bestimmten Beitrag?

Schreiben Sie uns gerne einen Kommentar, wir werden das Thema in der Zukunft aufgreifen.

Die neuesten Posts

MID Newsletter abonnieren