Home Anwendungen modernisieren - Gründe

Ändernde technische Infrastrukturen, neue fachliche Anforderungen, ungenügend dokumentierte Applikationen und kaum mehr wartbare Software sind wesentliche Gründe für eine Software-Modernisierung und stellen hohe, permanente Anforderungen an die IT.

Legacy Systeme sind bewährt und ausgereift und im Regelfall bereits seit langer Zeit im Einsatz. Damit ist Legacy aber zwangsläufig auf Technologien aufgebaut die zum Zeitpunkt der Entwicklung der Systeme verfügbar waren und nicht auf der aktuell zur Verfügung stehenden neuesten Entwicklungs-Software, welche ihrerseits in einigen Jahren wieder «Legacy» sein wird.

Es gibt eine Vielzahl von Gründen und strategischen Überlegungen die mitentscheidend sind, ob eine Modernisierung von Legacy Systemen gemacht werden soll.

Was in einer Modernisierung gemacht wird, ist von Fall zu Fall verschieden. Oft ist es so, dass man aufs Mal mehr als einen Aspekt der Anwendung modernisiert; dass z.B. die Plattform ausgetauscht und gleichzeitig die Benutzungsoberfläche neu gestaltet wird.

Je unternehmenskritischer die von Änderungen betroffenen Legacy-Systeme«'Legacy code' often differs from its suggested alternative by actually working and scaling.» — Bjarne Stroustrup sind, umso kritischer und wichtiger ist es für Sie, diese meist immensen Investitionen zu schützen indem Sie Unterhalt, Wartbarkeit und eine Öffnung für neue Technologien gewährleisten.

Bei Modernisierungsprojekten ist es wichtig, sichere und optimale Wege zum Ziel zu finden, angemessen zu automatisieren um damit den Testaufwand erheblich zu senken.

Gründe für eine Modernisierung und damit zur Transformation

  • Kosten senken - knappe Ressourcen
    • Die Kosten für Betrieb und Lizenzen Ihrer Applikations-Plattform sind viel zu hoch: sie wollen auf eine günstigere Plattform wechseln und Kosten sparen (Migration).
    • Eine der Schichten, auf welche das Legacy-System aufgebaut ist, wird hinsichtlich der Maintenance wirtschaftlich unrentabel.
    • Schwieriger und kostspieliger Support: Der Support von Legacy Programmiersprachen wird kontinuierlich schwieriger und kostspieliger weil nie in die Software-Entwicklungs-Infrastruktur investiert worden ist.
    • Ressourcen-Knappheit: Es ist schwierig Fachkräfte mit dem notwendigen Legacy-System Know-how zu finden und an die Firma zu binden. Junge IT-Fachkräfte haben geringes Interesse Know-how in «veralteter» Legacy Systeme aufzubauen, da dies langfristig nicht karrieredienlich ist.
  • Unzufriedene Kunden und Fachbereiche
    • Das eingesetzte Datenbank-System kann die von Benutzern und Fachbereichen gestellten Anforderungen nicht mehr erfüllen (Datenintegration).
    • Das eingesetzte System erfüllt vom «Look and Feel» (kein GUI) nicht mehr die von Benutzern und Fachbereichen gestellten Anforderungen (Service Enablement, SOA-isierung).
    • Sie wollen Teile der Applikation (Erfassen von Bestellungen, Nachforschungen über Lieferungen usw.) direkt Ihren Kunden über Internet zur Verfügung stellen, ohne funktionierende Programme wegwerfen und neu entwickeln zu müssen (Service Enablement, SOA-isierung).
  • Nicht mehr unterstützte Hardware, (Teil-)Ersatz mit «Standard-Software»
    • Die von Ihnen eingesetzte Hardware, das proprietäre Betriebssystem, die Datenbank werden nicht mehr unterstützt (Migration).
    • Sie möchten oder müssen Teile von selbstgeschriebener Software durch ein Standard-Produkt ersetzten, das möglicherweise nur auf einer neuen Plattform zur Verfügung steht. Sie wollen oder müssen firmenspezifische Funktionen, die in der Standard-Software noch nicht oder nur mit hohen Kosten (wenn überhaupt) zu implementieren sind und für deren Entwicklung und Wartung Sie in der Vergangenheit viel investiert haben, erhalten und integrieren (Integration, Service Enablement, SOA-isierung).
    • Da Legacy Software häufig auf älterer Hardware / Infrastruktur aufgebaut ist, wird der Unterhalt der Hardware im Laufe der Zeit immer teuer und bei mangelndem Hersteller-Support bisweilen sogar unmöglich (Migration).
  • Fehlende Schnittstellen, monolithische Software-Architektur
    • Legacy Software lässt sich aufgrund mangelnder Schnittstellen nur schwer in Dritt-Systeme integrieren. Zusätzlich bietet die Software-Architektur von Legacy-Systemen kaum Möglichkeiten derartige Schnittstellen zu erstellen (Integration, Service Enablement, SOA-isierung, Reengineering).

Änderungen an Anwendungen bedingen Massenänderungen

Software 4 SoftwareUnabhängig davon, ob sie die Plattform oder das Datenbank-System wechseln, die Benutzer-Oberfläche GUI-fizieren, Teile Ihrer Applikationen reengineeren und/oder in eine Service-orientierte Umgebung integrieren wollen:
Sie werden massive Änderungen (Transformation) in Ihrem Programmcode in Kauf nehmen müssen.

Eine zu 100% sichere Transformation über hunderte von Programmsourcen ist nur möglich, wenn sie

  • zu 100% automatisiert
  • jederzeit wiederholbar
  • parallel zur laufenden Wartung
  • zu einem von Ihnen bestimmten Zeitpunkt
  • mit möglichst kurzer Einführungszeit («no freeze») durchgeführt werden kann.

Modernisierung automatisieren - Testaufwand reduzieren

Automatisierung ist das beste Mittel zur Produktivitäts- und Qualitätsverbesserung und den Testaufwand erheblich zu senken.

Ein Grossprojekt bei RDW, der nationalen Kraftfahrzeugverwaltung der Niederlande, hat gezeigt: eine 100%-ige Automation der Änderungen konnte den Testaufwand um mehr als 90% reduzieren.

Software Modernisierung
  • 100% automatisiert
  • kein «Big Bang»
  • 90% weniger Testaufwand

IT-Transformationen bieten grossen Potenzial zur Kostenersparnis bei Entwicklung und Wartung:

  • Wechsel zu kostengünstigeren Plattformen, Betriebssystemen, Datenbanken
  • Integration von Legacy
  • Modernisierung von Benutzer-Oberflächen
  • Überführen in eine Service-orientierte Architektur (SOA)
  • «No foot-print», keine Abhängigkeit von Runtime-Komponenten

 
Bookmark and Share