DevOps

Was gehört in einen Software-Wartungsvertrag?

Kurz gesagt

Ein Software-Wartungsvertrag sollte klar zwischen Fehlerbehebung und Weiterentwicklung trennen, Reaktionszeit und Wiederherstellungszeit getrennt definieren und regeln, wer Sicherheitsupdates für eingesetzte Abhängigkeiten einspielt. Genauso wichtig sind der Zugriff auf das Deployment und ein klar geregelter Ausstieg, damit du im Ernstfall nicht auf einen einzigen Anbieter angewiesen bist.

Fehlerbehebung ist nicht Weiterentwicklung

Der wichtigste Unterschied in jedem Wartungsvertrag, und der, der am häufigsten absichtlich verschwommen bleibt: Fehlerbehebung heißt, dass etwas repariert wird, das nicht mehr so funktioniert wie vereinbart. Weiterentwicklung heißt, dass etwas Neues gebaut oder verändert wird, auch wenn es klein ist. Ein Vertrag, der beides unter demselben Pauschalbetrag fasst, lädt dazu ein, jede kleine Anpassung als Fehlerbehebung zu deklarieren oder umgekehrt jede Fehlerbehebung als zusätzlichen Aufwand abzurechnen. Achte darauf, dass der Vertrag beide Fälle einzeln benennt und beschreibt, wie mit Grenzfällen umgegangen wird.

Ein Beispiel für einen typischen Grenzfall: eine Funktion verhält sich nicht so, wie du es erwartest, aber sie hat auch nie anders funktioniert, weil sie nie richtig fertiggestellt wurde. Ist das ein Fehler, der unter die Wartung fällt, oder eine fehlende Funktion, die als Weiterentwicklung gilt? Ein guter Vertrag legt fest, dass sich das am ursprünglich vereinbarten Funktionsumfang misst, nicht an deiner aktuellen Erwartung, und benennt eine Stelle, die im Zweifel entscheidet.

Reaktionszeit ist nicht Wiederherstellungszeit

Reaktionszeit beschreibt, wie schnell sich jemand meldet, nachdem ein Problem gemeldet wurde. Wiederherstellungszeit beschreibt, wie lange es dauert, bis das System wieder läuft. Ein Vertrag, der nur eine Reaktionszeit von einer Stunde zusagt, aber nichts zur Wiederherstellungszeit sagt, gibt dir keine echte Zusage dazu, wie lange ein Ausfall dauern darf. Für dich zählt am Ende die Wiederherstellungszeit, nicht die Reaktionszeit, auch wenn Anbieter gerne mit Letzterer werben, weil sie leichter einzuhalten ist.

Wer kümmert sich um Sicherheitsupdates in den Abhängigkeiten

Jede Software besteht heute aus einer Menge fremder Bibliotheken, und in diesen Bibliotheken werden laufend Sicherheitslücken gefunden und geschlossen. Ein Wartungsvertrag sollte klar sagen, ob und wie oft diese Abhängigkeiten aktualisiert werden, und ob das im Wartungspreis enthalten ist oder separat abgerechnet wird. Ohne diese Regelung läuft ein System oft über Jahre auf veralteten Bibliotheken weiter, weil niemand vertraglich dafür zuständig ist, das zu ändern.

Wer hält die Zugänge zum Deployment

Ein Punkt, der in vielen Verträgen gar nicht auftaucht: wer hat Zugriff auf die Systeme, über die die Software live geschaltet wird. Wenn nur der Anbieter diese Zugänge hat, bist du im Zweifel handlungsunfähig, sobald die Zusammenarbeit stockt oder endet, selbst wenn dir formal der Quellcode gehört. Kläre vor Vertragsabschluss, wer Zugriff auf Deployment, Hosting und die dazugehörigen Konten hat, und bestehe darauf, dass du diesen Zugriff jederzeit selbst hast oder bekommen kannst.

Kündigungsfrist und Ausstieg

Ein Wartungsvertrag sollte eine klare Kündigungsfrist haben und beschreiben, was beim Ausstieg passiert: Übergabe der Dokumentation, Übergabe aller Zugänge, ein definierter Zeitraum für die Übergabe an ein anderes Team, falls du wechseln willst. Ein Vertrag ohne diese Regelung sieht auf den ersten Blick harmlos aus, bindet dich im Alltag aber stärker an den Anbieter, als dir bewusst ist, weil ein Wechsel dann unklar und aufwendig wird statt planbar.

Worauf du vor der Unterschrift achten solltest

Lies einen Wartungsvertrag nicht nur auf den Preis, sondern auf diese fünf Punkte: die Trennung von Fehlerbehebung und Weiterentwicklung, eine echte Wiederherstellungszeit statt nur einer Reaktionszeit, eine klare Zuständigkeit für Sicherheitsupdates, deinen eigenen Zugriff auf die Deployment-Zugänge und eine Ausstiegsregelung, die auch ohne Streit funktioniert. Fehlt einer dieser Punkte, frag gezielt danach, bevor du unterschreibst. Ein Anbieter, der diese Fragen offen beantwortet, zeigt dir damit auch, wie er mit dir zusammenarbeiten wird, wenn es einmal nicht rundläuft.