"Refactoring: Legacy Software modernisieren"
Software erneuern
Analyse, Beratung und Umsetzung der Konvertierung oder Neugestaltung Ihrer Softwareanwendungen auf modernste Plattformen.
Analyse, Beratung und Umsetzung der Konvertierung oder Neugestaltung Ihrer Softwareanwendungen auf modernste Plattformen.
Die Entwicklung von Software schreitet immer schneller voran. Dadurch verkürzt sich auch die Lebensdauer und damit die Amortisationszeit von Softwareanwendungen. Die technische Lebensdauer dieser Anwendungen ist oft noch nicht vorbei, aber das Umfeld erfordert, dass sich etwas ändern muss. Ein großer Teil der von uns durchgeführten kundenspezifischen Softwareentwicklung umfasst die Konvertierung oder den Aufbau neuer bestehender Anwendungen, die hier unter dem Begriff „Software-Refactoring“ zusammengefasst werden.
Software-Refactoring bedeutet, die interne Struktur des Quellcodes bestehender Programme zu verbessern, während die Software (funktional) weiterhin das Gleiche tut. Laut Definition geht es also nicht darum, Fehler zu beheben oder Code neu zu schreiben. In der Praxis wird jedoch oft eine Kombination von Problemen gelöst. Es wird nicht nur die Struktur des Codes verbessert, sondern wir kümmern uns auch direkt um die Behebung von Fehlern, die Verbesserung der Leistung, Anpassungen der Schnittstelle usw.
Jede Situation ist anders, wenn es um das Problem geht, das angegangen werden muss, oder um das Umfeld, in dem es gelöst werden muss. Das bedeutet, dass jedes Refactoring auf eine andere Art und Weise durchgeführt werden muss. Es muss im Vorfeld festgelegt werden, wie der Software-Refactoring-Prozess in Bezug auf Arbeitsteilung, Umfang, Planung, Phaseneinteilung und Technologie angegangen werden soll. Nur mit einer guten Vorbereitung kann der Prozess tatsächlich erfolgreich sein.
Eine gute Vorbereitung stellt sicher, dass frühzeitig die richtigen Entscheidungen getroffen werden, sodass das Software-Refactoring reibungsloser verläuft.
Das alles sind Fragen, die einer fundierten Antwort bedürfen. Teils können diese auf Basis von Recherchen und Erfahrungen beantwortet werden, teils werden diese als Voraussetzungen in den Prozess einbezogen.
Die Durchführung eines Refactoring-Prozesses kann ein kostspieliger und langwieriger Prozess sein, dessen Ausgang manchmal ungewiss ist. Das Aufschieben des Refactorings hat oft ähnliche Ursachen.
Diese Argumente sind berechtigt und müssen vor einer Entscheidung abgewogen werden. Unsere Erfahrung zeigt jedoch, dass die Folgen eines Refactorings überschaubar sind. Häufiger geht es darum, neue Funktionalitäten hinzuzufügen (und damit eine Verbesserung gegenüber der alten Situation zu erzielen), als dass die Umstellung selbst eine riskante und/oder zeitaufwändige Aufgabe ist. Im Hinblick auf die Zuverlässigkeit muss der Qualitätssicherung bzw. der strukturierten Qualitätsgarantie große Aufmerksamkeit gewidmet werden. Aus Kostengründen ist die Auslagerung an Softwareentwickler in Osteuropa eine Option, die einen Unterschied machen kann. Sätze, die die Hälfte bis ein Drittel der Sätze in den Niederlanden betragen, können den Unterschied zwischen der Machbarkeit und der weiteren Verschiebung dessen ausmachen, was eigentlich getan werden sollte. Eine Neuberechnung auf Basis unserer Grundsätze lohnt sich auf jeden Fall.
Es gibt viele „Klassiker“, die irgendwann einer Umgestaltung bedürfen. Nicht nur, weil es technisch notwendig ist, sondern oft auch, weil die Entwickler auf diesen Plattformen einfach nicht mehr zu finden sind. Ein Refactoring auf eine neue Softwareplattform oder ein Update auf eine viel neuere Umgebung bringt Ihnen neue Möglichkeiten.