Was machst du, wenn du neue Software übernimmst?

Die Frage kam in einem der letzten Webinare auf und der Teilnehmer wollte wissen, wie Eventmodeling hilft, wenn bestehende Softwaresysteme übernommen werden. Egal ob es nur um Wartung oder auch Weiterentwicklung geht.

Typischerweise gibt es kaum oder nur veraltete Dokumentation für bestehende Softwaresysteme (Ausnahmen bestätigen die Regel). Das bedeutet, wir fangen meist bei null an. Der erste Schritt besteht darin, den Status Quo zu erfassen.

Im Idealfall habe ich Zugriff auf die Stakeholder und Know-How-Träger. Dann besteht der erste Schritt darin, ein #Eventmodell zu definieren. Je nach Größe des Systems kann dies in wenigen Tagen geschehen.

Meist gibt es nicht die eine Person, die das komplette Wissen hat. Stattdessen versuchen wir, das kollektive Wissen über das System zu erfassen.

Folgende Fragen versuchen wir dabei zu klären:

  • Was macht das System?
  • Wie groß ist das System?
  • Mit wem kommuniziert das System?
  • Wie sieht die Kontextmap des Systems aus?
  • Wer sind die Stakeholder des Systems?

Ab hier zoomen wir in bestimmte Module und verfeinern das Modell. Nicht alle Beteiligten müssen hierbei immer dabei sein. Wir bleiben so lange wie möglich im Modell und gehen nur in den Code, wenn es Wissenslücken gibt. Code in alten Systemen ist schwer zu lesen und sagt wenig darüber aus, was das System wirklich tut.

Wie lange dauert die Modellierung?

Das lässt sich nicht pauschal beantworten. Meistens sehen wir aber schon nach wenigen Sessions bedeutende Ergebnisse. Je nach Struktur des Systems können wir beispielsweise Modul für Modul modellieren.

Was haben wir durch die Modellierung gewonnen?

Jetzt haben wir einen ziemlich guten Überblick über das System und die einzelnen Bausteine. Jetzt können die weiteren Schritte geplant werden:

  • Sollen Teile extrahiert werden?
  • Sollen Module weiterentwickelt werden?
  • Wie aufwändig wird es, neue Features hinzuzufügen?

Diese Fragen lassen sich jetzt viel besser beantworten, da wir ein gemeinsames Verständnis über das System erlangt haben. Es ist keine Blackbox mehr. Wir sehen es im Eventmodell.