Bestehende Anwendungen haben im Laufe der Jahre eine Menge technischer Schulden angehäuft. Das Entfernen kann die Wartung erheblich beschleunigen. In der Realität wird die Aufgabe, die Software durch Entfernen überflüssiger Teile zu verbessern, selten angegangen. Fehlerrisiko und Testkosten sind die Hauptgründe dafür, dass nichts unternommen wird.
RDW hat einen Weg gefunden, technische Schulden auf sichere Weise zu beseitigen. Die AMELIO Modernization Platform von Delta spielt dabei eine Schlüsselrolle.
Technische Schulden behindern die Wartung der Anwendung
Die niederländische Fahrzeugbehörde (RDW) ist ein langjähriger Benutzer von Delta ADS, der Softwareentwicklungs-Produktsuite von Delta Software Technology. In den letzten Jahrzehnten sind die Kernanwendungen gewachsen und auch mehrfach auf neue Plattformen migriert worden. Im Laufe der Jahre haben all diese Änderungen die Wartbarkeit des Anwendungsportfolios verringert. Um die Wartbarkeit wieder zu verbessern, wurde beschlossen, in die Beseitigung technischer Schulden (sowie 'Clean Code') zu investieren.
Technische Schulden zu entdecken und sicher zu beseitigen, ist eine komplex Aufgabe. Entfernen oder Ändern von Code aus einem Programm, das Sie selbst geschrieben haben, ist vielleicht noch machbar. Wenn es jedoch vor Jahren von einem Vorgänger geschrieben wurde, mit dem sie keine Rücksprache halten können, ist dies schon eine andere Herausforderung. Nicht ohne Grund trauen sich viele Entwickler nicht, diese Art von Programmänderungen selbst durchzuführen. Sie haben zu Recht Angst vor den kaskadierenden Nebenwirkungen einer Veränderung.
Ein weiteres Hindernis besteht darin, dass zum Entfernen der technischen Schulden viele Programme modifiziert werden müssen, die voneinander abhängen. Damit die Anwendung auch weiterhin korrekt funktioniert, müssen all diese Programme gleichzeitig geändert werden. Dazu ist es notwendig, die Programme einzufrieren, so dass während der Bereinigung ggf. erforderliche reguläre Wartungsaufgaben nicht durchgeführt werden können.
Datenbankzugriff - ein Beispiel für die Beseitigung technischer Schulden
RDW hatte in seinen Anwendungen eine neue Architektur für den Datenbankzugriff implementiert, die mit einer älteren Art des Zugriffs auf die Daten koexistiert. Diese hybride Architektur wurde immer mehr als technische Schuld angesehen. Für die weniger komplexen Fälle wurde manuelle Änderungen durchgeführt, um die alten Zugriffe durch neue zu ersetzen. Aber es blieb ein großer Teil der alten Zugriffe übrig.Mit dem manuellen Ansatz hätte die Fertigstellung viele weitere Jahre gedauert.
Die verbleibenden über 9.000 Datenzugriffsaufrufe (von ursprünglich 16.000) enthielten auch die komplexesten Aufrufe, von denen einige in der neuen Architektur noch nicht verfügbar waren. RDW entschied sich, die AMELIO Modernization Platform von Delta zu nutzen, um die verbliebene alte Datenzugriffsarchitektur automatisch durch die neue zu ersetzen.
Transformation Schritt für Schritt
Zu Projektbeginn war bekannt, dass die neue Datenzugriffsarchitektur noch nicht alle Funktionen der alten Architektur unterstützt. Der gewählte Ansatz bestand deshalb darin, mit Hilfe der AMELIO Modernization Platform eine Factory zu erstellen, die nach und nach lernen sollte alle erforderlichen Änderungen in den Anwendungsmodulen zu erkennen und durchzuführen. Zu Beginn brauchten nicht alle Varianten umgesetzt sein. Statt Zeit mit der Spezifikation aller Varianten zu verlieren, wurden die bereits durchgeführten manuellen Transformationen als Ausgangspunkt verwendet. In einem ersten Schritt wurden die einfacheren Datenzugriffstypen analysiert und transformiert. Das Ziel bestand darin, die transformierten Programme sofort wieder produktiv zu setzen, selbst wenn sie noch weitere, komplexere Zugriffsarten, die noch die alte Architektur nutzten, enthielten. Im nächsten Schritt wurden weitere Zugriffsarten entfernt, dazu wurden zum Teil bereits transformierte Sourcen erneut transformiert und zum anderen Teil weitere Sourcen hinzugefügt, die bisher noch nicht von der Factory verarbeitet wurden. Dieser iterative Prozess wurde so lange fortgesetzt, bis am Ende auch die komplexesten Datenzugriffe transformiert wurden.
„Am Ende hat sich unsere Entscheidung ausgezahlt. Die Verwendung eines automatisierten Ansatzes bedeutet auch fast kein Einfrieren und die Möglichkeit, Entscheidungen zu einem sehr späten Zeitpunkt zu ändern. Dadurch konnten wir das Endergebnis problemlos verbessern. Mit einem manuellen Ansatz hätten wir schon lange zuvor den Zeitpunkt verpasst, etwas anders zu machen.“
Roland Römer (Product Owner RDW)
Kontinuierlich voran schreiten
Nach der Migration auf die neue Datenzugriffsarchitektur soll die AMELIO Factory so erweitert werden, dass mittels weiterer Massenänderungen in den Anwendungssourcen, die technischen Schulden noch weiter verringert werden.
„Wir sehen die AMELIO Modernization Platform von Delta jetzt als eine Art Waschmaschine. Wenn wir das richtige Programm auswählen, wird ein 'Fleck' (technische Schuld) aus unseren Anwendungen entfernt. Es ist eine großartige Lösung, wenn wir Massenänderungen haben, die in unserem Anwendungsportfolio durchgeführt werden müssen.“
Gert-Jan Theuwissen (Abteilungsleiter RDW ICT)
Anwendungen agil bereinigen - Mit AMELIO Cleanup der Waschmaschine für Software
COBOL- und PL/I-Anwendungen verrichten bis heute zuverlässig ihren Dienst. Doch je länger die Anwendungen leben, desto mehr Verunreinigungen und technische Schulden sammeln sich in den Anwendungen an, die ihre Wartung und Weiterentwicklung zunehmend erschweren und fehleranfälliger machen. Auch im Vorfeld zu Modernisierungsprojekten ist die Bereinigung der Anwendungen sinnvoll, um Fehler zu vermeiden und Aufwände zu reduzieren.
Die traditionelle Software-Bereinigung findet von Hand statt. Dabei wird die Vielfalt an möglichen Bereinigungen Programm für Programm durchgeführt. Nicht immer sind alle notwendigen oder möglichen Bereinigungsmaßnahmen von Anfang an bekannt. Manche können erst erkannt werden, wenn andere Maßnahmen bereits durchgeführt wurden. Sicherer und überschaubarer ist es, wenn eine bestimmte Bereinigung für alle Programme gleichzeitig durchgeführt wird. Dafür müssen ggf. alle Programme mehrfach angepackt werden. Risiko und Aufwand können mit einem automatisierten Vorgehen minimiert werden, das beliebig oft für neue Bereinigungen angewendet werden kann.
Wie die Waschmaschine mit AMELIO Cleanup eine agile Bereinigung ermöglicht, erfahren Sie hier.
Über RDW
RDW ICT ist der IT-Dienstleister der nationalen Kraftfahrzeugverwaltung der Niederlande. Zu den Hauptaufgaben gehören die Inspektion und Registrierung von Fahrzeugen, die Marktzulassung von Fahrzeugen, die Verwaltung von Führerscheinen, Auskunftsdienste für die Polizei - insgesamt mehr als 300 Millionen Transaktionen pro Jahr.
RDW wurde wiederholt als beste und innovativste Regierungsorganisation für bestes Management und beste Jahresergebnisse ausgezeichnet.
Überzeugen Sie sich selbst
Möchten Sie die technische Verschuldung Ihrer Anwendungen reduzieren? Kontaktieren Sie uns und lassen Sie uns eine Demo mit einigen Ihrer Sourcen vorbereiten.
Sprache: Deutsch - Version: MT11102.02
Bereinigen Sie Ihre bewährten Anwendungen mit einer Waschmaschine für Software.
Auch Software sammelt über die Jahre Staub an. Wegen des Aufwands und dem Risiko wird eine Entfernung des Staubs oft vermieden. Andererseits wird die Wartung immer schwieriger. Soll der bewährte Code weiter genutzt werden, sei es in der Wartung oder als Basis für das Neuschreiben, lohnt es sich, die Anwendung zu bereinigen. Um dabei die aufwändige Handarbeit zu sparen und die Risiken zu minimieren, haben
... Weiterlesen...Sprache: Deutsch - Version: mt11093.02
Bestehende Anwendungen haben im Laufe der Jahre eine Menge technischer Schulden angehäuft. Das Entfernen kann die Wartung erheblich beschleunigen. In der Realität wird die Aufgabe, die Software durch Entfernen überflüssiger Teile zu verbessern, selten angegangen. Fehlerrisiko und Testkosten sind die Hauptgründe dafür, dass nichts unternommen wird.
Weiterlesen...Sprache: Deutsch - Version: MT11100.01
Wie sieht eine nachhaltige Strategie für die Beseitigung technischer Schulden aus? Seit mehr als 30 Jahren entwickelt und pflegt RDW ihre zentralen Backend-Anwendungen. Die Anwendungen laufen zuverlässig, doch mit der Zeit haben sich technische Schulden angesammelt, die die Wartung und Weiterentwicklung erschweren. RDW und Delta haben gemeinsam eine nachhaltige Lösung für dieses Problem entwickelt: Eine Waschmaschine, die die Software automatisiert von den technischen Schulden reinigt.
Weiterlesen...