Systematisch modernisieren

Modernisierung ist mehr als „Neu in Technologie X“

17.-19.01.2012
Software Quality Days 2012,  Wien.

Gewachsene und in Technologien wie COBOL, PL/I und C/C++ programmierte Applikationen bilden in vielen Unternehmen das Rückgrat für Kern-Geschäftsprozesse und besitzen damit einen enormen Wert. Gleichzeitig leiden diese Applikationen häufig auch unter Qualitätsmängeln, hohen Kosten und abnehmender Agilität bei nach wie vor hohem Anpassungsdruck. Eine Big-Bang-Ablösung solcher, häufig als "Legacy" bezeichneter, Systeme beinhaltet hohe Risiken und ist selten erfolgreich.

Im Gegensatz hierzu bietet die schrittweise, gezielte Optimierung gewachsener Software die Chance, hohe Effizienzgewinne nahezu risikolos und mit bereits kurzfristig positivem ROI zu erzielen. Das im Vortrag empfohlene Vorgehen startet mit einer Analyse der realen Kostenstruktur der Applikation, z.B.: 

  • Entwicklungs- und Wartungskosten
  • Fehlerbehebungskosten und Fehlerfolgekosten
  • Infrastrukturkosten und Lizenzen.

Diese werden in Bezug zu den konkreten Stärken und Mängeln der Implementierung und anderen technischen Details gesetzt. Hierzu werden relevante technische Metriken in automatisierter (werkzeuggestützter) bzw. teilautomatisierter Weise oder manuell durch Code- und Dokumentinspektionen erhoben. Beispiele für wichtige Kennzahlen sind Coderedundanz (Cloning), Literaldichte und -redundanz, Modullängen und -struktur, Anteil ungenutzten Codes, Qualität der Benennung und Kommentierung, Struktur der Dokumentation und Normalisierung des Datenmodells.

Auf Basis dieser Analyse und der Bewertung technischer und organisatorischer Handlungsalternativen wird eine individuelle Modernisierungsstrategie abgeleitet und umgesetzt. Zahlreiche Maßnahmen stehen zur Verfügung, u.a.:

  • Restrukturierung
  • Entfernung von Clones und Unused Code
  • Redokumentation und -kommentierung
  • Ausbildung
  • Performance Tuning
  • Migration.  

Die Auswahl der geeigneten Modernisierungsmaßnahmen und eine schrittweise, iterative Durchführung erlauben ermöglichen es, die Qualität und Wirtschaftlichkeit von Softwaresystemen mit moderaten Investitionen und geringen Risiken zu erhöhen und dauerhaft zu erhalten.

Das vorgestellte Verfahren wird seit 2007 erfolgreich in Unternehmen der Versicherungswirtschaft und anderer Branchen eingesetzt. Am Beispiel des mathematischen Rechenkerns der Lebensbestandsführung der Versicherungskammer Bayern wird gezeigt, wie eine strukturierte Analyse in der Praxis erfolgt, welche Erkenntnisse sich hieraus ergeben und welche Effekte durch die Umsetzung der identifizierten Maßnahmen erzielt werden können.  

Referenten

Dr. Peter Boße ist als Hauptabteilungsleiter für die zentralen IT-Systeme Leben der Versicherungskammer Bayern verantwortlich.

Dr. Markus Pizka gründete 2001 an der TU München das Kompetenzzentrum "Software-Maintenance", das innovative Methoden zur Steigerung der Wirtschaftlichkeit umfangreicher und langlebiger Software-Systeme entwickelt. Seit 2004 ist er geschäftsführender Gesellschafter der itestra GmbH.

Dr. Peter Boße, Versicherungs- kammer Bayern

 

Dr. Markus Pizka