• IT-Karriere:
  • Services:

Legacy-Systeme: Von nützlicher Software zum nutzlosen Artefakt

Wenn eine Software neue Anforderungen erfüllen soll, scheuen viele Firmen aus Angst vor Bugs tiefgreifende Code-Änderungen. Was dabei herauskommt, ist aber schlimmer als Bugs: erstarrte, nutzlose Legacy-Systeme.

Artikel von Rajiv Prabhakar veröffentlicht am
Manche Architektur altert nicht so gut - und das gilt auch für manche Software-Architektur.
Manche Architektur altert nicht so gut - und das gilt auch für manche Software-Architektur. (Bild: Wikimedia Commons/CC-BY-SA 4.0)

Dieser Artikel ist eine Übersetzung. Das Original des Softwareentwicklers und Bloggers Rajiv Prabhakar ist hier zu finden.

Inhalt:
  1. Legacy-Systeme: Von nützlicher Software zum nutzlosen Artefakt
  2. Wie Legacy-Software überhaupt entsteht
  3. Wie verhindert man, dass nutzlose Legacy-Systeme entstehen?

Es gibt ein Muster, das ich sehr oft in Software-Teams sehe:

Es existiert die Notwendigkeit, das bestehende Systemverhalten zu ändern, um eine neue Funktionalität zu erreichen.

Der Softwareentwickler erkennt, dass das vorhandene Design für die erforderliche Änderung nicht gut geeignet ist. Er schlägt Designänderungen und eine Restrukturierung vor, als Teil der Implementierung der gewünschten Funktionalität.

Stellenmarkt
  1. Th. Geyer GmbH & Co. KG, Renningen
  2. HOHENFRIED e.V., Bayerisch Gmain

Die Kollegen überprüfen die Arbeit und machen sich Sorgen, dass die vorgeschlagenen Änderungen kritisch sein könnten. Da niemand im Team das System wirklich gut versteht, befürchten sie, dass jede Restrukturierung Fehler verursacht. Sie hatten das schon mal und sind entschlossen, es nicht noch einmal zu riskieren.

Sie versuchen also, signifikante Änderungen zu vermeiden. "Fügen Sie einfach hier, in der Methode Foo in der Klasse Bar, eine weitere if-Prüfung, einen Service-Aufruf und/oder eine Abhängigkeit zur Klasse Baz hinzu." Die Änderungen bestehen nur aus ein paar Zeilen Code - weit weniger riskant.

Die Klasse Bar und die Methode Foo waren aber nie dazu gedacht, Service-Aufrufe durchzuführen oder Ergebnisse aufgrund einer Abhängigkeit von Baz zu filtern. Es verstößt gegen den ursprünglichen Entwurf der Klasse. Aus einer einzigen Aufgabe der Klasse werden nun mehrere, denn aus "Bar gibt immer ABC zurück" wird "Bar gibt immer ABC zurück, es sei denn, DEF gibt in diesem Fall XYZ zurück". Die Trennung von Zuständigkeiten weicht einer Überschneidung der Zuständigkeiten.

Dennoch: Es sind nur ein paar zusätzliche Codezeilen, wie schlimm kann das schon sein? Außerdem ist das Risiko gering, schließlich fassen wir nur sehr wenig Code an. Es ist schwer, auf Basis abstrakter Designprinzipien dagegen zu argumentieren. Schließlich sind wir hier Pragmatiker, keine Architektur-Astronauten!

Hacking & Security: Das umfassende Handbuch. 2. aktualisierte Auflage des IT-Standardwerks (Deutsch) Gebundene Ausgabe

Und so beschließt das Team, den Weg des geringsten Widerstands zu gehen. Es aktualisiert pflichtbewusst die Unit-Tests. Außerdem testet es die relevanten Änderungen manuell, denn es weiß aus Erfahrung, dass Unit-Tests nur die halbe Miete sind. Der Code wird erfolgreich und ohne Probleme ausgerollt, alle atmen auf und beglückwünschen einander zu einer gelungenen Arbeit.

Irgendwann ist das System nur noch zum Bestaunen gut

Dieser Prozess wiederholt sich jedes Mal, wenn eine Änderung gemacht werden muss. Mit jeder Iteration wird das Design ein bisschen verwaschener, das System ein wenig schwieriger zu verstehen - und es verhält sich jedes Mal einen Tick unvorhersehbarer. All das macht das Team noch risikoscheuer und entschlossener, unnötige Änderungen zu vermeiden. Was den Verfall weiter beschleunigt.

Und jedes Mal, wenn jemand das Team verlässt und jemand Neues kommt, erhält diese Verfallsbeschleunigung noch einen Schub.

Ziemlich bald hat man ein vollwertiges Legacy-System, eine Legacy-Software, über die sich jeder gerne beschwert und in der niemand herumfuhrwerken möchte. Die Codebasis ist kein lebendiges System mehr, sondern ein Museumsartefakt. Sie wird mit Staunen und Bewunderung betrachtet, aber auf keinen Fall wird sie angefasst.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
Wie Legacy-Software überhaupt entsteht 
  1. 1
  2. 2
  3. 3
  4.  


Anzeige
Top-Angebote
  1. gratis (bis 10. März, 10 Uhr)
  2. mit 299€ neuer Bestpreis auf Geizhals
  3. (u. a. Anno 2205 für 8,88€, Loop Hero für 12,74€, Lovecraft's Untold Stories für 3,50€)
  4. (u. a. Turtle Beach Stealth 600 Gen 2 Gaming-Headset für 84,99€)

minnime 17. Feb 2021 / Themenstart

Erstmal liegt ein ziemlich großer Fokus auf dem Testen, wobei ich nicht sagen würde, dass...

lordasgart 14. Feb 2021 / Themenstart

Genau meine Rede momentan, und jetzt eine gute Referenz auf einen entsprechenden Golem...

CptData 12. Feb 2021 / Themenstart

Es wird noch was nicht angefasst im Artikel: Software zur Steuerung von Maschinen. Der...

der_onkel 12. Feb 2021 / Themenstart

Vielen Dank für die Videos!

Schmiddi2021 12. Feb 2021 / Themenstart

Da sieht man mal, dass die meisten Leute überhaupt keine Ahnung von dieser Software...

Kommentieren


Folgen Sie uns
       


Polestar 2 Probe gefahren

Wir sind mit dem Polestar 2 eine längere Strecke gefahren und waren von dem Elektroauto von Volvo angetan.

Polestar 2 Probe gefahren Video aufrufen
Börse: Was zur Hölle ist ein SPAC?
Börse
Was zur Hölle ist ein SPAC?

SPACs sind die neue Modewelle an der Börse: Firmen, die es eigentlich nicht könnten, gehen unter dem Mantel einer anderen Firma an die Börse. Golem.de hat unter den Mantel geschaut.
Eine Analyse von Achim Sawall

  1. Wallstreetbets Trade Republic entschuldigt sich für Probleme mit Gamestop
  2. Tokyo Stock Exchange Hardware-Ausfall legte Tokioter Börse lahm

Logitech vs. Cherry: Leise klackert es im Büro (oder auch nicht)
Logitech vs. Cherry
Leise klackert es im Büro (oder auch nicht)

Tastaturen für die Büroarbeit brauchen keine Beleuchtung - gut tippen muss man auf ihnen können. Glücklich wird man sowohl mit der Logitech K835 TKL als auch mit der Cherry Stream Desktop.
Ein Test von Tobias Költzsch

  1. SPC Gear Mechanische TKL-Tastatur mit RGB kostet 55 Euro
  2. Launch Neue Details zur Open-Source-Tastatur von System76
  3. Youtube Elektroschock-Tastatur bestraft schlampiges Tippen

Vor 25 Jahren: Space 2063: Military-Sci-Fi auf höchstem Niveau
Vor 25 Jahren: Space 2063
Military-Sci-Fi auf höchstem Niveau

Vor 25 Jahren startete die Military-Science-Fiction-Serie Space 2063 in Deutschland. Es wurde nur eine Staffel produziert. Sie ist auch ihres bitteren Endes wegen unvergessen.
Von Peter Osteried

  1. Science Fiction Raumpatrouille Orion wird neu aufgelegt
  2. Warp-Antriebe und Aliens Das Wörterbuch für Science-Fiction
  3. Science Fiction Babylon 5 kommt als neue Remaster-Version

    •  /