„Praktisch jedes Unternehmen hat Altanwendungen“

Nadine Riederer: Eine agile Vorgehensweise ist nicht nur mit modernen Programmiersprachen möglich; für sie gibt es lediglich mehr unterstützende Tools. Von agilen Denkweisen bis hin zum DevOps-Vorgehen können auch Bestandsanwendungen profitieren.

Der IT-Dienstleister Avision ist auf die Modernisierung von Altanwendungen spezialisiert. CEO Nadine Riederer erläutert im Interview, warum solchen Anwendungen oft zu wenig Aufmerksamkeit geschenkt wird und welche Herausforderungen es bei ihrer Modernisierung gibt.

Frau Riederer: Was glauben Sie? In wie vielen Unternehmen laufen, vielleicht unbemerkt, noch Altsysteme?
Nach einer gewissen Zeit wird aus jeder Anwendung ein Altsystem. Und damit dürfte es praktisch in jedem Unternehmen, solange es nicht gerade ein taufrisches Start-up ist, Altsysteme geben. Nicht bemerkt beziehungsweise vergessen werden dabei insbesondere Anwendungen, die vor geraumer Zeit bereits einmal modernisiert und deshalb gewissermaßen abgehakt wurden.
Was ebenfalls häufig unter dem Radar bleibt ist die Schatten-IT. Oft wurden Anwendungen von Beratern oder Werkstudenten als Prototypen entwickelt und stehen deshalb nicht im Fokus der IT-Abteilung und ihren Modernisierungsprozessen. Solche Anwendungen können durch die mangelnde Beachtung schnell veralten und dadurch kritisch werden.
Aus diesen Gründen ist es wichtig, immer eine vollständige Liste der Anwendungen im Unternehmen vorzuhalten und den Lifecycle dieser Anwendungen zu kontrollieren. Das kann sinnvollerweise auch im Zusammenhang mit einer Assetverwaltung erfolgen, wie sie beispielsweise die ISO 27001 fordert.

Wie beurteilen Sie die Aufmerksamkeit der Entscheider für das Thema?
Die Entscheider schenken diesem Thema definitiv zu wenig Aufmerksamkeit. Altsysteme laufen meist seit Jahren relativ stabil im Unternehmen und geraten dadurch nicht in den Fokus des Managements. Das passiert in der Regel immer erst dann, wenn etwas eben nicht mehr reibungslos funktioniert.
Das ist beispielsweise der Fall, wenn neue Anforderungen umgesetzt werden sollen und dies nicht mehr möglich ist. Ist dann der Source Code nicht vorhanden, kann die Altanwendung zu einem Problem werden. Ebenso können die Ergebnisse von Security Scans dazu führen, dass eine Altanwendung genauer betrachtet wird.
Dieses Thema ist aber natürlich ganz generell nicht sehr angenehm. Kein IT-Verantwortlicher geht gerne zur nächsthöheren Managementebene und informiert sie über veraltete Systeme. Aus diesem Grund werden sie oft einfach unter den Teppich gekehrt und es wird nicht darüber gesprochen.

Wenn ein Softwarehersteller den Support für ein Produkt abkündigt, wird es schwierig. Inwiefern helfen Sie an dieser Stelle den Unternehmen?
Die erste Frage ist hier immer, wem die Software gehört. Im besten Fall hat das Unternehmen alle Rechte inne und verfügt über den Source Code. Dann können wir als neuer Dienstleister die Software weiterentwickeln. Im schlechtesten Fall hat es keinerlei Rechte und auch keinen Source Code. Dann muss die Software neu entwickelt werden.
Eine solche Nachprogrammierung ist allerdings häufig sehr komplex. Deshalb ist insbesondere bei Individualentwicklungen die Übergabe des Source Code an den Auftraggeber extrem wichtig und er sollte auch von ihm auf Vollständigkeit und Kompilierbarkeit geprüft werden. Dann bestehen gute Chancen auf eine Modernisierung.
Standardsoftware kann auch nach Ablauf des Supports oft noch an eine neue Version des Betriebssystems oder einer Datenbank angepasst werden, um sie damit weiter zu betreiben. Außerdem bieten die Hersteller häufig einen Update-, Upgrade- oder Cross-Update-Pfad an, der es ermöglicht, das veraltete Produkt abzulösen und durch ein neues zu ersetzen. Im ungünstigsten Fall müssen dann allerdings Daten und Konfigurationen aus einer bestehenden Applikation in eine neue migriert werden.

Stichwort Investitionssicherheit: Nehmen wir an, ein Unternehmen hat eine Software speziell für sich schreiben lassen. Welche Wege gibt es, diese „in die Zukunft zu führen“?
Das hängt natürlich davon ab, was „Zukunft“ für das jeweilige Unternehmen konkret bedeutet. Es gilt zu überlegen, was genau es benötigt und was sinnvoll ist.
Cobol beispielsweise ist definitiv keine hippe Programmiersprache mehr und wird auch nicht mehr für neue Software verwendet. Bei einer Altanwendung, die in Cobol geschrieben ist, stellt sich deshalb die Frage, ob sie weiterhin bestehen bleiben oder in eine neuere Sprache überführt werden soll. Stehen dem Unternehmen ausreichend Cobol-Programmierer zur Verfügung, kann es durchaus sinnvoll sein, es bei Cobol zu belassen. Ist das aber nicht der Fall, wäre es ratsam, die Software „in die Zukunft zu führen“, indem man auf eine neue Programmiersprache umsteigt.
Aber nicht nur die Software selbst, sondern auch die Entwicklungsprozesse der Unternehmen spielen eine wichtige Rolle. Bei einem Unternehmen hat sich beispielsweise der erst vor wenigen Jahren eingeführte Webshop als nicht mehr leistungsfähig genug gezeigt. Obwohl moderne Komponenten eingesetzt wurden, sind Anpassungen nicht so einfach möglich und die Reaktion auf Wettbewerber dauerte zu lange. Gerade bei den Schnittstellen zum Kunden ist die „Time to Market“ aber ganz entscheidend. Durch einen Umstieg auf DevOps-Methoden kann man in so einem Fall die Releasezyklen deutlich verkürzen.

Nicht nur die Software selbst, sondern auch die Entwicklungsprozesse der Unternehmen spielen eine wichtige Rolle. Bei einem Unternehmen hat sich beispielsweise der erst vor wenigen Jahren eingeführte Webshop als nicht mehr leistungsfähig genug gezeigt. Obwohl moderne Komponenten eingesetzt wurden, sind Anpassungen nicht so einfach möglich und die Reaktion auf Wettbewerber dauerte zu lange.

Nadine Riederer

Die Wandlungsfähigkeit von Geschäftsmodellen ist natürlich essenziell im Kontext des digitalen Wandels. Inwiefern gewinnen Unternehmen durch Ihre Dienstleistung mehr Agilität?
Insofern, als wir in Software-Modernisierungsprojekten auch selbst eine agile Vorgehensweise anstreben. So arbeiten wir beispielsweise nach dem DevOps-Konzept und integrieren Testautomatisierung in unseren Softwareentwicklungsprozess. Das Ziel ist, Anforderungen in relativ kleinen Entwicklungszyklen umzusetzen, um eine schnelle Produkteinführung zu ermöglichen.
Hierbei ist hervorzuheben, dass Testautomatisierung auch bei älteren Technologien eingesetzt werden kann. Eine agile Vorgehensweise ist nicht nur mit modernen Programmiersprachen möglich; für sie gibt es lediglich mehr unterstützende Tools. Von agilen Denkweisen bis hin zum DevOps-Vorgehen können auch Bestandsanwendungen profitieren.

Inwiefern beeinflussen aktuelle Entwicklungen wie Cloud, Blockchain und Künstliche Intelligenz Sie beziehungsweise Ihr Geschäftsmodell?
Aktuelle Entwicklungen beeinflussen natürlich auch unsere Geschäftsprozesse. Wir halten uns immer auf dem Laufenden und testen neue Entwicklungen aus. Dabei geht es vor allem darum, den Nutzen für unsere Kunden zu evaluieren.
Unsere Hauptkunden sind vor allem größere Konzerne, die eine gewisse Sicherheit und Stabilität ihrer Software erwarten. Wir bewegen uns dabei meist in unternehmenskritischen Bereichen, was dazu führt, dass auf bestimmt Hype-Themen nicht sofort eingegangen werden kann. Diese Unternehmen warten eher erst einmal ab, wie sich neue Trends bewähren. Technologien wie Cloud und auch KI sind aber schon im produktiven Umfeld angekommen. Auf den ersten erfolgreichen Einsatz der Blockchain-Technologie im Massenmarkt sind wir schon sehr gespannt.

Weitere Informationen unter:
https://www.avision-it.de