Sanierung von Legacy-Systemen - Entwicklertag · 50% aller Anwendungen sind älter als 20 Jahre*...
Transcript of Sanierung von Legacy-Systemen - Entwicklertag · 50% aller Anwendungen sind älter als 20 Jahre*...
Sanierung von Legacy-Systemen
Ein Erfahrungsbericht
Quelle: xkcd.com
MaibornWolff
Woher kommen Legacy Systeme?
Wie gehen wir vor?
Was haben wir gelernt?
Tools
Inhalt
50% aller Anwendungen sind älter als 20 Jahre*
Designentscheidungen
Feature-Overload
Over-Engineering
Integration durch Fremdsysteme
Woher kommen Legacy Systeme?
*Quelle: Marktstudie Software Modernisierung, Bosshard & Partner, 2005
Was ist zu tun?
Over-Engineering
Technik / Architektur
Fa
ch
lich
keit
- Langsam
- Teuer
- Fehleranfällig
- Zeitnah
- Günstig
- Zuverlässig
Wartungshölle Eingeschränkte
Wartbarkeit
Idealer
Wartungskorridor
Ist
SollOh
ne
Ma
ßn
ah
men
Türöffner
Groben Überblick
Legacy Code kategorisieren
Wartungskorridor
Wie gehen wir vor?Audit-Phase (~ 3 Wochen)
Übernahme der Software
Backlog füllen
Erweiterte Kategorisierung
Testabdeckung erhöhen
CI aufsetzten
Erste Aufräumarbeiten
Wie gehen wir vor?Einarbeitung-Phase (~ 3 Monate)
Aufräumen was geht
Alten Code sanieren
Neue Features hinzufügen
Wie gehen wir vor?Einarbeitung-Phase (3 - 6 Monate)
Business as Usual
Wie gehen wir vor?Stabile Phase
Agiles Vorgehen hilft
Der Konkretisierungsgrad nimmt über die Zeit zu
Das Team muss die Fachlichkeit verstehen
Der Kunde muss die Fachlichkeit erklären
Kommunikation ist wichtig
Was haben wir gelernt?Vorgehen
Es wird nicht nur saniert um den Code hübscher zu machen
Es wird saniert um neue Features zu ermöglichen
Der Kunde muss wissen was wichtig ist
Was haben wir gelernt?Fachliche Herangehensweise
Sanierung ist nicht nur Refactoring
Legacy Code muss kategorisiert werden
Continous Integration und Testabdeckung sind wichtig
Fortschritt verständlich visualisieren
Was haben wir gelernt?Technische Herangehensweise
Screenshot: Software Diagnostics
ToolsJira/Confluence
www.atlassian.com
Toolsbalsamiq
www.balsamiq.com
ToolsSoftware Landkarten
Screenshot: Software Diagnostics
ToolsCI-Server/SonarQube
www.sonarqube.org
Danke für die Aufmerksamkeit!