Softwareprojekte Episode 2 ::: Ein möglicher Versuch
Geschrieben von am Noch keine Kommentare
Die Vorgeschichte und Episode 1 ::: Episode 1 ::: So klappts nicht mit der Software beschrieben die Problematik, hier folgt ein möglicher Versuch.
Die drei Nachfolger von Fred lernten sich, mehr schlecht als recht, in den von Fred erzeugten Code ein und das Familienunternehmen konnte weiter operativ tätig sein. Karl, einer der drei Nachfolger, formulierte seine täglichen Problemstellungen wie folgt:
„Wir nehmen den nächsten Auftrag entgegen und skizzieren den möglichen Ablauf. Dann schauen wir welche Daten wir aus dem Altsystem benötigen und versuchen, wann immer möglich, nur lesend auf die Daten zuzugreifen. Wenn das nicht geht, kopieren wir die benötigten Daten in einen neuen Datenspeicher und replizieren in regelmäßigen Abständen die Originaldaten. Auf diese Weise müssen wir am bestehenden System nichts ändern. Die neuen Datenstrukturen beschreiben wir, damit wir später noch verstehen was die Komponenten tun.“
In gewachsenen Strukturen wird häufig das bestehende System nicht weiter entwickelt, da niemand genau weiß, welche Auswirkungen eine Änderung am System haben wird.
Karl und seine Kollegen setzen auf diese Vorgehensweise.
Ein Problem dabei ist, dass die Systeme permanent anwachsen und nicht mehr benötigter Code stehen bleibt. Es handelt sich um den Ansatz eines Anti-Patterns das Lava Code genannt wird. Alter, nicht mehr gewarteter Code bleibt bestehen und im Fehlerfall kann nicht nachvollzogen werden was von diesem Code noch benötigt wird.
Mögliche Symptome für das Bestehen von Lava Code sind:
- Die Kosten für Wartung und Fehlerkorrektur steigen stetig an.
- Die Integration neuer Funktionalitäten wird immer komplexer und risikoreicher.
- Code ist vorhanden, der im eigentlichen Sinn keine Aufgaben mehr wahrnimmt.
- Ein Technologiewechsel wird immer unwahrscheinlicher, da das Migrieren von der alten Technologie auf die Neue zu gefährlich und teuer wäre. Viele Firmen müssen daher steinalte, nicht mehr supportete Hard- und Software einsetzen, um ihre IT-Systeme weiter betreiben zu können. Die Folge sind Systemausfälle, hohe Wartungskosten und kaum noch Weiterentwicklung der Systeme.
Noch keine Kommentare