Sanierung von Legacy-Systemen - Ein Erfahrungsbericht

Conference Day - 10. März
 
10:30
11:15
 
Legacy
 
Konferenzraum 1.801

Etwa 50% aller Anwendungen sind älter als 20 Jahre*. (Befragung von ca. 100 IT Führungskräften aus 87 Schweizer Unternehmen) Gerade bei großen Konzernen werden diese Legacy-Systeme mit hohem Wartungsaufwand betrieben. Durch sich ändernde Prozesse und vorgaben stoßen diese Systeme immer häufiger an ihre Grenzen und bedürfen einer entsprechenden Sanierung.

Dabei müssen verschiedene Herausforderungen bewältigt werden, wie beispielsweise die Übernahme eines Systems ohne entsprechende Testabdeckung. Bei dieser Übernahme muss sehr viel fachliches Wissen im Entwicklungs-Team aufgebaut werden. Agile Prozesse helfen bei der Umsetzung, sind aber gerade bei Sanierungsprojekten häufig schwer umzusetzen, da Erfolge gegebenenfalls nur schwer visualisiert werden können. Darüber hinaus muss während einer Sanierung eines Systems häufig auch die Wartung sowie Erweiterung gewährleistet werden.

In diesen Vortrag berichten wir von unseren den Erfahrungen, die wir beim Sanieren unterschiedlicher Legacy-Systeme gesammelt haben und stellen unsere Good- und Bad-Practices vor. Idealerweise können wir das Theme als Vortrag (45 min.) vorstellen, stehen jedoch auch einem Pecha Kucha oder einem Lightning Talk offen gegenüber.

Kernpunkte eines Vortrags sind:
  • Auf welche Kernfragen sind wir bei der Übernahme eines sanierungsbedürftigen Systems gestoßen?
  • Welches Vorgehen haben wir gewählt?
  • Was hat sich bewährt? Was hat sich evtl. nicht bewährt?

Als Einstiegspunkt für eine System-Sanierung dient üblicherweise ein Audit des entsprechenden Systems. Hier wird überprüft ob die Systemarchitektur zu den aktuellen und zukünftigen Anforderungen an das System passt. Falls eine Sanierung notwendig und möglich ist, werden aufbauend mögliche Sanierungsmaßnahmen abgeleitet. Der Sanierungsprozess betrachtet dabei nicht einfach den zu ändernden Code, sondern teilt das System in fachliche Komponenten, die falls nötig isoliert mit Tests abgesichert und dann einzeln saniert werden.

Vor der Umsetzung der Sanierung wird eine entsprechende Planungsphase durchgeführt. Im Zuge derer werden sowohl technische Maßnahmen geplant als auch fachliche Komponenten identifiziert. Darüber hinaus werden ebenso das konkrete Vorgehen (in unserem Falle Scrum), sowie weitere organisatorische und kaufmännische Aspekte festgelegt.

Während der der Sanierung selbst werden fachliche, organisatorische und technische Maßnahmen umgesetzt und im Sinne der agilen Vorgehensweise stetig verbessert. Die fachlichen Maßnahmen sorgen für eine schnelle Übertragung des relevanten Fachwissens in das Entwickler-Team. Gleichzeitig wird das Feedback vom Entwicklungsteam verwendet, um das gewonnene Fachwissen zu stärken. Die Organisatorischen Maßnahmen dienen zur Optimierung der Prozesse innerhalb des agilen Teams, so dass neue Erkenntnisse zeitnah umgesetzt werden können. Die technischen Maßnahmen sind stark abhängig vom jeweiligen Projekt. Hier ist der Grat an Umbau im Vergleich zum Neubau eine der entscheidenden Größen. Dabei wird die Herangehensweise mit jedem Release angepasst, da sich durch das gewonnene fachliche Wissen stetig neue Anforderungen ergeben.

Diese Herangehensweise wird durch einen Satz von Tools unterstützt, die zum einem das Team und den Kunden unterstützten, aber auch Artefakte generieren, die Stakeholder in unterschiedlichsten Positionen über den Fortschritt im Projekt informieren.

*Quelle: Marktstudie Software Modernisierung, Bosshard & Partner, 2005

Dr. Claas Busemann

MaibornWolff GmbH

Claas Busemann ist seit 2014 als Senior Software Engineer bei MaibornWolff tätig und ist seit 2006 im Bereich der Softwareentwicklung tätig. Unter anderem entwickelte er im Rahmen eines Forschungsprojektes eine serviceorientierte Middleware zur generischen Aggregation und Bereitstellung von Sensordaten. Für die Stadtwerke Saarlouis entwarf und entwickelte er gemeinsam mit Seeburger ein Smart-Home-System, das Nutzern auf mobilen Endgeräten die ortsunabhängige Kontrolle und Steuerung des eigenen Heims über die Integration beliebiger Sensoren erlaubt. Für die AGT Group (Germany) GmbH entwickelte Herr Busemann ein Android basiertes System zur Koordinierung von mobilen Einsatzkräften. Im Rahmen seines aktuellen Projektes sanierte und erweiterte Herr Busemann ein System zur Planung und Kostenberechnung von Fahrzeugteilen für einen großen Automobilhersteller. Alle Entwicklungsprojekte folgten der Scrum-Methodik. 

Christian Sauerbrey

MaibornWolff GmbH

Christian Sauerbrey, seit 2007 IT Architect bei MaibornWolff, ist in IT-Projekten verschiedenster fachlicher und technischer Ausprägungen tätig. Durch seine langjährige Erfahrung in der Kundenbetreuung ist er mit den Prozessen und Abläufen komplexer Projekte bestens vertraut: Seine Kenntnisse erstrecken sich vom Design und der Architektur von Software-Systemen über die Implementierung und die Qualitätssicherung bis hin zur Inbetriebnahme. Der Schwerpunkt seiner bisherigen Arbeit lag in der Entwicklung verteilter Systeme auf Basis von Java und .Net. Im Rahmen verschiedener System-Audits konnte Christian Sauerbrey dieses breite Wissen bereits vielfach unter Beweis stellen.