Altsysteme sind für moderne (junge) Softwareingenieure schnell mal ein Schrecken. Von Clean Code Development keine Spur und manchmal wurden selbst Prinzipien, die vor 20 Jahren schon gegolten hätten, nach Strich und Faden verletzt. Es kommt, wie es kommen musste: Die Wartbarkeit endet mit dem Ausscheiden des letzten Entwicklers, der am System mitgearbeitet hat. So geschehen bei einem unserer Kunden, dessen Geschäftsmodell ganz und gar von diesem IT-System abhängt.

Was nun? Vor allem, wenn das System über die Jahre hinweg so angewachsen ist, dass eine Ablösung von heut auf morgen zu riskant und zu kostenspielig ist?

Die Lösung liegt in der Koexistenz von Altsystem und Neuentwicklung. In unserem Fall ist die Rettung, dass das System datenbankzentriert ist – wenngleich die alte Datenbank den Namen eher nicht verdient hat.

Während das Neusystem einer ordentlichen Struktur und Systematik folgt und – zukunftssicher – auf einer professionellen Datenbankstruktur aufsetzen soll, muss das Altsystem noch bis zur vollständigen Ablösung die alte Struktur vorfinden. Mit Datenbankmitteln wird daher dem Altsystem die alte Struktur noch „vorgegaukelt“, während zugleich das Schema auf den Stand der Technik gebracht wird. Schritt für Schritt wird so aus dem alten Datenhaufen eine Datenbank. Schritt für Schritt wird ein Anwendungsfall nach dem anderen in die neue Welt gebracht.

Ist nun doch nur die Abhängigkeit vom alten Entwicklerteam durch die Abhängigkeit vom neuen Team ersetzt?
Das wird wirksam verhindert, da das Neusystem auf allen Ebenen mit Blick auf Wartbarkeit enwickelt wird: Konzepte, Modelle, Architektur- und Designmuster und reichlich automatisierte Tests sichern ab, dass dieses Produkt von jedem guten Entwickler gewartet werden kann. Wir wollen am Projektende ja Zeit finden, uns der nächsten Herausforderung stellen zu können.

Bild von Gerd Altmann auf Pixabay