Montag, Mai 01, 2006

SE: Altlasten

Software-Reengineering ist eine undankbare Sache. Es ist wahnsinnig schwierig, erfordert einen immensen Aufwand, ist kein bisschen prestigeträchtig (da i.d.R. keine neuen coolen Funktionen für die Nutzer entstehen) und die Wahrscheinlichkeit, dass hinterher irgendeine kleine Funktion nicht mehr funktioniert und es deswegen Ärger gibt, ist sehr hoch. Aber was soll's, es muss gemacht werden - spätestens wenn absehbar wird, dass es keinen Support der zu Grunde liegenden Plattform mehr gibt oder die Software tot-gewartet ist (kein Schwein blickt mehr durch).

Aber wenigstens eines sollte man der Nachwelt schuldig sein: Wenn schon Reengineering, dann bitte auch die Fehler vermeiden, die die Entwickler des Altsystems gemacht haben:


  • Tricks, Workarounds und Superfreaky Optimierungen meiden, auch wenn dadurch das eine oder andere Byte Speicher gespart werden könnte. Nachfolgende Entwickler könnten zu doof oder zu faul sein, sich da reinzufuchsen.

  • Datenmodell und Daten bereinigen! Einen besseren Zeitpunkt dafür gibt es wahrscheinlich nicht.

  • Überflüssige oder selten genutzte Funktionen wenn möglich weglassen.

  • Dokumentieren.



Am besten vorher auf den aktuellen Stand bringen was das Software Engineering betrifft.

Und auch wenn die Arbeit noch so nieder zu sein scheint: In den Legacy-Systemen steckt zumeist eine ganze Menge Domänenwissen, ein Schatz, den es zu heben gilt.

0 Comments:

Post a Comment

<< Home