Wie Legacy-Software überhaupt entsteht

In Working Effectively with Legacy Code (Effektiv mit Legacy-Code arbeiten) beschreibt Michael Feathers Legacy-Software als jedes Softwaresystem, das nicht getestet wird. Diese Beobachtung ist sehr aufschlussreich, ich würde aber noch einen Schritt weiter gehen: Für mich ist Legacy-Software jede Software, an der Entwickler aus Angst vor Fehlern keine Änderungen mehr machen.

Stellenmarkt
  1. Softwareentwickler MES (m/w/d)
    Hays AG, Dresden
  2. SAP Application Manager (m/w/d) Finance
    SCHOTT AG, Mainz
Detailsuche

Die beiden häufigsten Gründe für die Abneigung gegen Veränderungen sind:

  • Komplexität
  • Lücken in der Testabdeckung

Komplexer Code macht Tests noch zwingender. Und Löcher in der Testabdeckung machen deutlich, dass die automatisierte Testsuite nicht verlässlich ist.

Golem Akademie
  1. IT-Fachseminare der Golem Akademie
    Live-Workshops zu Schlüsselqualifikationen
  2. 1:1-Videocoaching mit Golem Shifoo
    Berufliche Herausforderungen meistern
  3. Online-Sprachkurse mit Golem & Gymglish
    Kurze Lektionen, die funktionieren
Weitere IT-Trainings

Wenn man sie nach dem Testen fragt, betonen die meisten Software-Teams, dass sie sehr diszipliniert sind, wenn es darum geht, Tests zu schreiben, die alle Funktionen abdecken. Um wirklich herauszufinden, wie gut ihre Testsuite ist, reicht aber eine Antwort auf diese einfache Frage: Wie viel Zeit verbringt das Team mit manuellen Tests?

Meiner Erfahrung nach gibt es viele Teams, die behaupten, sehr diszipliniert zu sein, die aber auch sehr viel Zeit mit manuellen Tests verbringen. Der Grund dafür ist eindeutig, dass ihre automatisierten Tests erhebliche Lücken haben - häufig, weil ihre Tests nur auf Unit-Tests ausgerichtet sind und nicht auf emergente Funktionalität, die mit End-to-End-Tests abgedeckt werden kann.

Die mangelnde Testabdeckung verursacht einen schädlichen Loop:

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

Mangelndes Vertrauen in die Durchführung von Änderungen → Alle Änderungen werden ausgiebig manuell getestet → Größere Änderungen werden vermieden, weil manuelles Testen zeit- und arbeitsintensiv ist → Alle Änderungen folgen dem Weg des geringsten Widerstands → Der Code wird immer komplexer, sein Design immer schlechter und er enthält immer mehr Fehlerquellen → Mangelndes Vertrauen in die Durchführung von Änderungen.

Dieser verhängnisvolle Loop wird mit der Zeit immer schlimmer, bis man schließlich mit einem Legacy-System dasteht, das geschäftskritisch ist, mit dem man aber nur noch schlecht arbeiten kann. Es braucht immer mehr Zeit, um überhaupt noch Änderungen vorzunehmen. Schließlich kommt der Tag, an dem das System unter seinem eigenen Gewicht zusammenbricht.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Legacy-Systeme: Von nützlicher Software zum nutzlosen ArtefaktWie verhindert man, dass nutzlose Legacy-Systeme entstehen? 
  1.  
  2. 1
  3. 2
  4. 3
  5.  


minnime 17. Feb 2021

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

lordasgart 14. Feb 2021

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

CptData 12. Feb 2021

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

der_onkel 12. Feb 2021

Vielen Dank für die Videos!

Schmiddi2021 12. Feb 2021

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



Aktuell auf der Startseite von Golem.de
Kooperation
Amazon Kreditkarte mit Landesbank Berlin wird eingestellt

Während der ADAC seine Kunden bereits informiert hat, schweigt Amazon Deutschland noch zum Ende der Kooperation mit der Landesbank Berlin.

Kooperation: Amazon Kreditkarte mit Landesbank Berlin wird eingestellt
Artikel
  1. Onlineshopping: Hermes erwartet mehr Paketsendungen bis Weihnachten
    Onlineshopping
    Hermes erwartet mehr Paketsendungen bis Weihnachten

    Der Logistikdienstleister Hermes geht von einer Steigerung zum Vorjahr aus. Durch den Onlineshopping-Boom braucht der Konzern mehr Zusteller und Fahrzeuge.

  2. Linux: Vom einfachen Speicherfehler zur Systemübernahme
    Linux
    Vom einfachen Speicherfehler zur Systemübernahme

    Ein häufig vorkommender Fehler in C-Code hat einen Google-Entwickler motiviert, über Gegenmaßnahmen nachzudenken.

  3. Nintendo Switch: Deutscher Jugendschutz sperrt Dying Light in Australien
    Nintendo Switch
    Deutscher Jugendschutz sperrt Dying Light in Australien

    Das frisch für die Switch veröffentlichte Dying Light ist in Europa und in Australien nicht erhältlich - wegen des deutschen Jugendschutzes.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • HP Herbst Sale bei NBB: Bis zu 500€ Rabatt auf Gaming-Notebooks, Monitore uvm. • Samsung-Monitore (u. a. 24" FHD 144Hz 169€) • Bosch Professional zu Bestpreisen • Sandisk Ultra 3D 500GB 47,99€ • Google Pixel 6 vorbestellbar ab 649€ + Bose Headphones als Geschenk [Werbung]
    •  /