31. Aug 2020

Irgendwann kommt auch ein sorgfältig gebautes Haus in die Jahre und muss renoviert werden. Genauso verhält es sich bei Software: Irgendwann ist auch der beste Code veraltet und die Software muss saniert werden.

Warum veraltet Software?

Warum muss man Software eigentlich modernisieren? Dafür gibt es verschiedene Gründe:

Die Technologie ist obsolet

Irgendwann veraltet eine Technologie und der Hersteller wird eine bestimmte Softwareversion irgendwann nicht mehr unterstützen. Dazu zählen beispielsweise WinForm-Applikationen, die von Microsoft nicht mehr unterstützt werden. Solche Applikationen laufen meist noch auf einem älteren Rechner, sind aber kaum noch wartbar.

Commodore Amiga
Wenn Ihre Software nur noch auf einem 30-jährigen Rechner läuft, ist es höchste Zeit für ein Update. (Quelle: https://www.popularmechanics.com/technology/infrastructure/a16010/30-year-old-computer-runs-school-heat/)

Die Security ist nicht mehr gewährleistet

Bei Software, die nicht mehr auf dem neuesten Stand ist, enstehen sehr schnell Sicherheitslücken. Wenn beispielsweise bei einer verwendeten Library eine Sicherheitslücke aufgedeckt wurde, werden Security Patches für diese Library veröffentlicht, die diese Lücke schliessen.

Die Usability ist überholt

Nicht nur die Technologie verändert sich, auch im Bereich Usability tut sich einiges. Im Rahmen einer Modernisierung bietet es sich daher an, auch die Usability zu verbessern. Dabei achten wir beispielsweise darauf, den Benutzer mehr zu führen, so dass die Software selbsterklärend und das Benutzerhandbuch überflüssig wird.

Schlechte Usability
Ein Beispiel für eine nicht selbsterklärende Benutzeroberfläche (Quelle: https://rules.ssw.com.au/rules-to-better-interfaces-(general-usability-practices))

Das Unternehmen hat sich weiterentwickelt

Ziemlich sicher hat sich Ihr Unternehmen über die Jahre verändert: Möglicherweise ist es gewachsen, oder es ist ein neues Geschäftsfeld dazugekommen. Vielleicht unterliegt es auch neuen Gesetzgebungen oder firmeninterne Prozesse haben sich im Zuge der Zeit verändert. Daraus ergeben sich neue Anforderungen, die bei einer Modernisierung berücksichtigt werden können.

Der Systemkontext hat sich verändert

Aller Wahrscheinlichkeit nach hat sich auch der Kontext verändert, in dem die Software eingesetzt wird. Vielleicht haben Sie zuletzt eine neue Buchhaltungssoftware eingeführt, die idealerweise mit der zu modernisiernden Software zusammenspielen sollte. Bei der Modernisierung können solche Abhängigkeiten berücksichtigt und Schnittstellen eingebunden werden. So werden Arbeitsprozesse noch effizienter.

Fazit

Aus strategischer Sicht lohnt es sich also, nicht nur den Lebenszyklus der Software zu berücksichten, sondern das Vorhaben als Ganzes zu betrachten. Auf diese Weise kann sichergestellt werden, dass die modernisierte Lösung wieder so lange wie möglich ihren Dienst tut.

Welche Optionen gibt es?

Option 1: Modernisieren & anbauen

Vielleicht ist das Haus nicht baufällig, aber Bad und Küche müssen dringend erneuert werden. Zudem wäre es schön, statt des Carports eine Garage anzubauen. Bei einer Applikation würde das bedeuten: Einige Technologien müsste man erneuern und wenn man schon dabei ist, kann man auch neue Anforderungen durch zusätzliche Funktionen abbilden.

Moderner Anbau
(Quelle: http://jeffkahane.com)

Option 2: Entkernen

Wie bei einem Haus bleiben bei dieser Option die Grundpfeiler stehen. Das gesamte Innenleben wird entfernt, Leitungen und Sanitäranlagen werden erneuert, Wände neu verputzt, Böden neu verlegt und dann können die Möbel wieder eingeräumt werden. Bei Software bedeutet das: Das Grundkonzept der Applikation bleibt bestehen. Die Technologien werden erneuert, die Usability verbessert und die bestehenden Daten wieder eingeräumt.

Entkernter Altbau
(Quelle: https://architektur-technik.blverlag.ch/baederquartier-wiederbeleben/)

Option 3: Abreissen und neu bauen

Das Grundstück ist zwar ein Traum, aber das Haus total baufällig. Sie entscheiden sich also dafür, das Haus abzureissen und stattdessen ihr Traumhaus zu bauen, das genau ihren Wünschen und Vorstellungen entspricht. Bei Software hiesse das, dass die Applikation von Grund auf neu entwickelt wird. Dabei werden Prozesse hinterfragt, neue Anforderungen erhoben und die Systemlandschaft analyisiert. So können wir gemeinsam mit Ihnen eine Software konzipieren, die Ihre Anforderungen passgenau abdeckt.

Traumhaus
(Quelle: https://unsplash.com/photos/b_79nOqf95I)

Fragen?

Sie sind nicht sicher, welche Option für Ihr Modernisierungsvorhaben die richtige ist? Wir bei Edorex beraten Sie gerne!

zum Blog

Marc Jenni 18. Apr 2018 Wann muss Software ersetzt werden?

Auch Software sollte zum richtigen Zeitpunkt ersetzt werden – wann?

Software Engineering

Individuelle Software aus der Cloud

Individuelle Software für Mobile- und Web-Lösungen vereinfachen Prozesse und erleichtern Ihnen die Arbeit. Damit Sie sich aufs Wesentliche konzentrieren können.

Beat Muster 8. Jul 2020 Mit User Experience Design zu besserer Software

Wie kann ich Ergonomie und Usability einer Software mit UX-Design nachhaltig verbessern?

Kontakt aufnehmen