TRINIDAT-WIKI

Software-Modernisierung

Warum Sie jetzt Ihre Software modernisieren sollten
Was ist Software-Modernisierung?

Was ist Software-Modernisierung?

Sanieren oder abreißen? Diese Frage stellt sich nicht nur bei baufälligen Immobilien, sondern auch beim Thema Software. In diesem Fall sprechen wir von Software-Modernisierung. In vielen Unternehmen laufen alte Anwendungen, die für Probleme sorgen können. Wir zeigen, warum Sie lieber schnell handeln sollten, bevor es zu spät ist. Altsysteme, Legacy-Software, veraltete Anwendungen: Irgendwann kommt bei nahezu jeder Anwendung der Moment, an dem die Software modernisiert werden muss.

Was sind typische Gründe dafür, sich mit dem Thema Software-Modernisierung zu beschäftigen?


Wann Sie Ihre Software modernisieren sollten

Digitalisierung der Geschäftsprozesse: Die alte Software kann neue Anforderungen nicht mehr erfüllen.

Kompatibilität: Die Software ist nicht mehr oder nur noch bedingt mit moderneren Systemen im Unternehmen kompatibel.

Technologietransfer: Die bestehende Software basiert auf einer Technologie, die nicht mehr weitergeführt wird. Zum Beispiel Einstellung des Internet Explorers oder alte Windows-Versionen.

Wissensverlust: Der Wegfall des langjährigen Programmierers sorgt für einen Wissensverlust. Die Bestands-Software kann ohne dieses Wissen nicht mehr erneuert werden.

User Experience (UX): 1995 war die Software noch das Maß aller Dinge. Heute senken das Design und die Nutzerfreundlichkeit den Bedienkomfort und führen zu Frustration und unnötiger Mehrarbeit.

Performance: Der Code ist alt und gefühlt hunderte Male umgeschrieben. Enorme Datenmengen senken die Performance der IT-gestützten Prozesse.

Die Gründe für eine Software-Modernisierung sind zahlreich. Dabei kann jeder einzelne Mangel an der bestehenden Altsoftware zu massiven Problemen führen.

Software-Modernisierung-1
Software-Modernisierung-2
Software-Modernisierung-3

Sicherheit von Unternehmenssoftware

Alte Software ist anfällig für Hackerangriffe. Die Eindringlinge haben bei veralteten Anwendungen meist leichtes Spiel. Insbesondere dann, wenn die Software an eine Ausführungsplattform geknüpft ist, bei der es bekannte Sicherheitslücken gibt. Die Folgen solcher Hackerangriffe können für Unternehmen gravierend sein: Neben einem hohen finanziellen Schaden können Cyber-Attacken auch für einen Vertrauensverlust bei Kunden und Geschäftspartnern sorgen. Dies kann bis zu einer existenziellen Gefährdung des Unternehmens führen. Sicherheitslücken bei alter Software treten bei Desktop-Anwendungen wie Webanwendungen gleichermaßen auf. Besonders heikel und vor allem rechtlich brisant wird es, wenn die veraltete Software-Lösung mit Kundendaten arbeitet, zum Beispiel bei einem CRM-System (Customer-Relationship-Management) oder bei ERP-Systemen, die alle wichtigen betrieblichen Prozesse steuern.


Datenschutz beachten

Ein Hackerangriff ist allerdings nicht das einzige Risiko beim Betrieb veralteter Software. In einigen Fällen ist die verwendete Software schlicht nicht mehr in der Lage, neue gesetzliche Anforderungen zu erfüllen. Besonders teuer kann es beim Thema Datenschutz werden. Vor allem, seitdem die neue EU-Datenschutzverordnung (DSGVO) in Kraft ist. Im dortigen Artikel zu Datensicherheit ist die Rede davon, dass die Sicherung von personenbezogenen Informationen unter Berücksichtigung des Stands der Technik ausgewählt werden muss.

Konkret bedeutet diese Regelung, dass Software-Lösungen, Anwendungen, Systeme und Prozesse immer so aktuell wie möglich gehalten werden sollten, damit alle Anforderungen an den Datenschutz stets erfüllt werden. Dies liegt in der Verantwortung des Unternehmens und keinesfalls beim Software-Anbieter. Der datenschutzrechtlich Verantwortliche hat also die Pflicht des „privacy by design“ (Datenschutz durch Technikgestaltung).


Was genau versteht man unter Software-Modernisierung?

Ob Sicherheitslücken oder schlechte Performance: Bei fast jeder Software ist irgendwann der Zeitpunkt erreicht, an dem sich die Anwendung mit der bestehenden Technologie nicht mehr weiterentwickeln lässt. Oft ist die Software über die Jahre mit dem Unternehmen mitgewachsen und wurde kontinuierlich weiterentwickelt. Dabei stand am Anfang immer die grundlegende Technologie für die Software: In welcher Programmiersprache wurde der Code geschrieben? Welche Laufzeitumgebung (Runtime Environment) steuert die Ausführung? Und welche Ausführungsplattform wurde gewählt?

In manchen Fällen der Software-Modernisierung reicht es aus, die bestehende Ausführungsplattform zu aktualisieren. Häufig jedoch genügt dies nicht. Dann wird bei der Modernisierung der alten Software nur die Kernidee weitergeführt sowie Daten und Algorithmen übernommen. Alle weiteren Funktionen der Software werden neu programmiert.


Zwei Formen der Software-Modernisierung

Upgrade der Ausführungsplattform: Bei dieser Form der Software-Modernisierung wird die Anwendung auf eine neue Version umgestellt. Das geschieht zum Beispiel bei der Umstellung auf eine neue Access-Version oder auf eine aktualisierte Version des .NET-Frameworks von Microsoft.

Übernahme der Software-Idee: Bei einigen Anwendungen ist eine einfache Umstellung auf eine neue Umgebung nicht mehr möglich. Beispiel: eine bestehende Access-Anwendung, die bisher als On-Premises-Software genutzt wurde, soll als Webanwendung mobil und jederzeit nutzbar werden. In diesem Fall ist eine Analyse der Bestandssoftware und eine anschließende Neuentwicklung nötig. Diese Art der Software-Modernisierung wird auch als Reengineering bezeichnet.

Unterschied zwischen Neuentwicklung und Reengineering

  • Die Neuentwicklung von Software startet ganz am Anfang. Dabei wird die Software konzipiert und anschließend programmiert und eingeführt. Dies gilt sowohl für individuelle software als auch für Standard-Lösungen. Im Rahmen der Planung wird dann ebenfalls festgelegt, ob die Software als Webanwendung oder als Desktop-Anwendung laufen soll.
  • Beim Reengineering alter Software wird die bestehende Anwendung entweder teilweise oder komplett neu entwickelt. Wichtige Einschränkung: Bei dieser Form der Software-Modernisierung wird die bisherige Software dokumentiert. Es werden also unter anderem die Ein- und Ausgabedaten, die Menüführung und die Eingabeformulare festgehalten. Die Neuprogrammierung geschieht auf Basis der bestehenden Software. Dabei werden meistens kleinere Anpassungen vorgenommen, um etwa die Benutzerfreundlichkeit zu verbessern.

Ein Sonderfall der Software-Modernisierung ist das sogenannte Refactoring. Der Begriff meint die Optimierung und Modernisierung des vorhandenen Quellcodes. Ziel: künftige Änderungen werden einfacher umzusetzen. Das Refactoring des Codes gibt der Software eine bessere Struktur. Die Anwendung läuft stabiler und wird weniger anfällig für Fehler. Im Gegensatz zum Reengineering kann ein Refactoring allerdings in der Regel nur von dem Programmierer vorgenommen werden, der die Software entwickelt hat.

 

Warum sich eine Software-Modernisierung auszahlt

Warum sich eine Software-Modernisierung auszahlt

Veraltete Software kann viele negative Auswirkungen haben. Ob Sicherheitslücken, schlechte Performance oder fehlende Kompatibilität zur IT-Umgebung. Mit einer Software-Modernisierung kann – häufig ohne großen Aufwand – eine modulare Anwendung entwickelt werden, die auf einer modernen Software-Architektur aufbaut. Großer Vorteil hier ist die Skalierbarkeit. Denn eine modernisierte Software kann über Jahre weiterentwickelt werden und mühelos weitere Funktionalitäten erhalten. So wird aus einer alten Problemsoftware eine moderne Applikation, die Mehrsprachigkeit, Mehrbenutzerfähigkeit, EU-DSGVO-Konformität und viele weitere Möglichkeiten bietet.

 

Ihre Software soll moderner werden?

Haben Sie noch veraltete Software, die modernisiert werden müsste? Dann handeln Sie, bevor es zu spät ist. Wir helfen Ihnen gerne und analysieren Ihre bestehende Software, beraten Sie und entwickeln Ihre modernisierte Anwendung – passgenau nach Ihren Wünschen.

Wir freuen uns auf Ihren Anruf oder Ihre Mail.


Dies ist ein Pflichtfeld
Dies ist ein Pflichtfeld
Dies ist ein Pflichtfeld
Dies ist ein Pflichtfeld

Weitere Beiträge aus unserem Wiki