Software-Migration: Vermeidung von Bad Smells

Franc Grimm

Model from perspective of factor Erfolgreiche Migration

PI

Für die erfolgreiche Migration von monolithischen Software-Systemen ergaben sich auf oberster Ebene die o.g. Ziele.

Model from perspective of factor Kosten

PI

Die Abbildung oben zeigt das Modell aus der Sicht der Kosten, wobei nur die nicht-trivialen Aufgaben als Kostentreiber aufgeführt sind. Kosten sind dabei analog einem sich ergebenden Zeitdruck

Model from perspective of factor konsequente Objektorientierung

PI

Das Model zeigt vier Wirkungsschleifen auf: eine ausgleichende und drei selbstverstärkende. Bei den Selbstverstärkenden hängt es davon ab, welcher Faktor diese anstößt, ob es sich um einen Engelskreis oder einen Teufelskreis handelt. Die Wahl der Rich Client Platform sorgt dafür, das von Anfang an Code-Tests eingebaut werden und damit mehr Stabilität für weniger Nacharbeiten und mehr Zeit für Code-Tests entsteht. Wenn hingegen der Zeitdruck steigt entwickelt sich dieser Kreis zum Teufelskreis.

PI

Die Erkenntnis-Matrix des zentralen Faktors zeigt z.B., dass kurzfristig die Kopie alten Codes (gemeint ist vor allem Code, der nicht objektorientiert angelegt ist) gut ist - allein schon aus Gründen der Entwicklungsgeschwindigkeit....

PI

... langfristig aber ist dieser Faktor zunehmend negativ.

Model from perspective of factor Kopie alten Codes

PI

Die Intensität des Kopierens alten Codes hängt entscheidend von der Projekt- und Unternehmensführung bzw. von den Anreizprogrammen ab. Werden schnelle Ergebnisse gefordert und belohnt, wird mehr gekopiert - mit dem Ergebnis eines Projektscheiterns als langfristige Folge des falschen Anreizprogramms. Wird der Programmcode jedoch regelmäßig bewertet und guter Code belohnt, wird weniger kopiert und der Projekterfolg langfristig gesichert. Kurzfristig sind dann zwar keine bzw. kaum Projektfortschritte sichtbar, jedoch wird hierdurch die Codequalität durch eine geringe Anzahl an Klonen / Bad Smells gesichert. Dass dies die langfristig bessere Strategie ist, zeigt die Erkenntnis-Matrix unten.

PI

Diese Erkenntnis-Matrix zeigt, dass Lob und Anerkennung für schnelle Erfolge kurzfristig die effektivste Strategie ist, da diese zu schnellen sichtbaren Ergebnisse führt ...

PI

... mittel- und langfristig wirkt diese Strategie jedoch kontra-produktiv, da hierüber als Folge zuviel Code kopiert wird und somit der Gesamt-Code nicht mehr beherrschbar ist.