Modernisierung bestehender Software

 

 

"Never touch a running system" (wörtlich übersetzt: ""Ein laufendes System sollte nicht verändert werden"") ist ein Lieblingsspruch vieler Manager, die wissen aus eigener Erfahrung, dass selten die Investitionen in die Modernisierung von Software gerechtfertigt sind. Und tatsächlich, den Wert solch eines bestehenden Informationssystems, das alle notwendigen Aufgaben erfüllt, sollte geschätzt sein.
Allerdings zwingt häufig die rasante Entwicklung der Informationstechnologien die Programmbesitzer, die produktiv genutzten Programme zu optimieren oder zu modernisieren. Aktualisierung von Betriebssystemen, Einführung von neuen Hardwaregeräten und Kompatibilitätsproblemen  mit Drittanbietern - diese sind bei Weitem nicht alle Ursachen, die zu Migration auf neue Technologien und Plattforme sowie zu Modernisierung der bestehenden Software zwingen können. Banale Performanceprobleme aufgrund des gestiegenen Datenvolumens bringen oft IT-Kräfte dazu, den größten Teil des Programmquellcodes umzuschreiben und das Programm auf eine modernere Datenbank zu migrieren.

Wenn die genutzte Software gut dokumentiert ist, bereitet selten ihre Migration auf eine neue Plattform Schwierigkeiten. In Wirklichkeit erwecken solche Projekte großes Interesse der Mehrheit der Entwickler, weil sie viel Freude finden, daran zu arbeiten.
Falls die notwendige technische Dokumentation fehlt, sind oft die Investitionen in Modernisierung bestehender Software mit den Entwicklungskosten neuen Systems zu vergleichen. Die Planung solcher Projekte verlangt bestimmte Erfahrung und Fachkenntnisse, da diese ein Ersparnis von Ressourcen  oder deren erhöhter Aufwand/Einsatz in allen Schritten von Analyse bis zum Testen des Produkts bestimmen kann. Reverse-engineering und Refactoring des Quellcodes sollte man lieber erfahrenen Programmierern anvertrauen, die sich in den alten als auch in den modernen Technologien sehr gut auskennen.
Die Spezialisten unserer Firma führten Refactoring und Migration einiger großen Projekte auf die modernen .Net-Plattformen durch. Während der Modernisierung führen wir Refactoring des Quellcodes und verbessern ggf. die Systemleistung sowie Benutzeroberfläche des Programms.