Wartung bei Software

Einleitung

Der Lebenszyklus eines Programms ist umfangreicher, als: Entwicklung und Nutzung, denn die Informationstechnik ist in stetiger Veränderung. Damit Programme über einen langen Zeitraum einsetzbar sind, müssen diese regelmäßig an diese Veränderungen angepasst werden. Nachfolgend möchte ich die Dringlichkeit und Relevanz darlegen.

 

Unterscheidung von Gewährleistung und Wartung

Wird ein Programm als individuelle Entwicklungsleistung beauftragt, erfolgt dies zumeist als Werkleistung. Nach Fertigstellung führt der Auftraggeber eine Abnahme durch, um dem Dienstleister zu bestätigen, dass die gestellten Anforderungen korrekt umgesetzt wurden. Bei komplexen Programmen ist eine vollständige Funktionsprüfung aller Eventualitäten meist nicht möglich, daher schließt sich an die Abnahme oft eine Gewährleistungsphase im Umfang von 6-24 Monaten an. In dieser Zeit hat der Auftraggeber die vertragliche Möglichkeit, Fehler zu melden und diese unentgeltlich beheben zu lassen. Um diese Sicherheit zu haben, sollte immer auf eine Gewährleistungsphase geachtet werden.

Was passiert nach Abschluss der Gewährleistungsphase, wenn sich etwas verändert und das Programm nicht mehr funktioniert? In aller Regel: nichts, denn es gibt keine Grundlage und damit Verpflichtung des Herstellers oder Dienstleisters, etwas zu tun. Für diesen Fall werden Wartungsvereinbarungen geschlossen.

Die Notwendigkeit von Wartung

Wenn ein Programm individuell beauftragt, oder als Standardprodukt gekauft wird, hat man die techn. Voraussetzungen geprüft, oder wird diese herstellen. Aber was passiert, wenn sich die Umgebung verändert, weil ein neues Betriebssystem eingeführt wird, Versionen aktualisiert werden, oder generell eine Veränderung eintritt, die den Einsatz des Programms verhindern oder beeinträchtigen? Wer kümmert sich dann darum?

Ohne eine Wartungsvereinbarung zumeist: niemand. Denn ein Programm wird für eine bestimmte technische Umgebung entworfen, sei es durch die Wahl der Programmiersprache, der Plattform, oder der Datenbank. Entscheiden Sie sich aber dafür, einen dieser Parameter zu verändern, besteht das Risiko, dass das Programm nicht mehr nutzbar ist. Dieses Risiko besteht auch bei evolutionären Entwicklungen (neue Versionen des .NET-Frameworks, der Java-Laufzeit, oder von MS-Office).

An diesem Punkt setzen Wartungsvereinbarungen an, die diese Fälle auffangen und die Sicherheit bieten, dass das Programm durch den Hersteller oder einen Dienstleister angepasst wird, damit es weiter eingesetzt werden kann.

Arten von Wartung

Man kann drei Arten von Wartung unterscheiden:

  • präventive Wartung (“Instandhaltung”)
  • korrektive Wartung (“Instandsetzung”)
  • adaptive Wartung (“Anpassung”)

Instandhaltung

Unter Instandhaltung versteht man Tätigkeiten, um den Funktionszustand des Programms zu erhalten, oftmals unter Fokus auf nicht-funktionale Anforderungen, wie das Antwortzeitverhalten (“Performance”). Insbesondere bei Programmen mit Datenbanken helfen instandhaltende Tätigkeiten dabei, die Anwendung für das Nutzungsszenario beim Kunden auszurichten, ohne Funktionen zu verändern. Beispiele hierfür sind:

  • Anpassung von parallelen Prozessen zur Verbesserung der Mehrbenutzerfähigkeit (“thread pools”, etc.)
  • Anpassung von Datenbank-Indizes, um Abfragen zu beschleunigen
  • Empfehlungen zur Dimensionierung der technischen Infrastruktur

Derartige Tätigkeiten werden oftmals regelmäßig durch Experten des Herstellers oder Dienstleisters beim Kunden durchgeführt und helfen, eine konstante Nutzererfahrung zu erreichen.

Instandsetzung

Unter Instandsetzung versteht man das Beseitigen von Fehlern, die die ordnungsgemäße Nutzung behindern. Hier wird nach Schweregraden unterschieden, an die Bearbeitungs- und Reaktionszeiten gekoppelt sind.

Anpassung

Unter Anpassung versteht man die Veränderung des Programms, damit die ursprüngliche Funktionalität unter fortgeschriebenen Rahmenbedingungen weiterhin erfolgen kann. Beispiele hierfür können sein:

  • Die Unterstützung einer neue Java-Laufzeit
  • Die Anpassung an eine neue Version des .NET-Frameworks
  • Die Anpassung an eine neue Version der Oracle-Datenbank

Oftmals wird unter Anpassung auch die Berücksichtigung von gesetzlichen Anforderungen verstanden, damit ein Programm auch unter regulatorischen Veränderungen weiterhin genutzt werden kann (bspw. DSGVO, BCBS239, etc.).

Fazit

Bei Programmen, die für die eigenen Prozesse und das eigene Geschäftsmodell wesentlich sind, ist eine umfassende Wartungsvereinbarung wesentlich, um für die Situation gewappnet zu sein, dass ein Problem auftaucht.  Die Prüfung des eigenen Softwarebestands auf Wartungsvereinbarungen und deren Umfang ist damit eine entscheidender Pfeiler im Business-Continuity-Management und der allg. Krisenvorsorge (siehe auch StaRuG).

Sind Sie hierfür gut aufgestellt oder haben Sie Zweifel? Lassen Sie uns dies prüfen!

Lassen Sie uns SPRECHEN …

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Scroll to top