Was fehlt den meisten Wartungsverträgen?

Blöde Frage - das ist ja ohnedies alles vertraglich vereinbart. Nein - ist es leider nicht. Die meisten der folgenden Fragestellungen werden durch die Wartungsverträge, die mir bisher untergekommen sind, nicht geregelt:
- Umfasst die Wartung neben der korrektiven auch die präventive Wartung - die Behebung von Fehlern, die dem Auftragnehmer bekannt, aber beim Auftraggeber noch nicht in Erscheinung getreten sind?
- Umfasst die Wartung auch die perfektionierende Wartung - die Verbesserung von Attributen wie etwa der Usability, Performance oder Wartbarkeit? Darunter fällt u.A. die Behebung von technischen Schulden durch Reengineering, Refactoring usw.
- Umfasst die Wartung auch die adaptive Wartung - die Anpassung der Software an veränderte oder veränderliche Bedingungen der Umgebung? Darunter fallen beispielsweise Änderungen der gesetzlichen Rahmenbedingungen oder Änderungen der technischen Umgebung bzw. des Standes der Technik.
- Ab wann beginnt die Wartung vollumfänglich zu laufen? Fehlerbeseitigung ist ja (wie die Beseitigung aller technischer Mängel) beispielsweise mit der Gewährleistung auch noch nach der Abnahme abgedeckt. Ebenso Wartung auf Grund der Aktualisierungspflicht digitaler Produkte (wenn nicht explizit vertraglich ausgenommen).
- Wie stellt man sicher, dass kritische Fehler ehestmöglich gelöst werden? Wer priorisiert die Fehler? Wie kann man diesbezüglich Streit vermeiden?
- Was, wenn sich ein Fehler nicht bzw. nicht schnell genug beheben lässt? Was bei Fehlern, die nicht nachvollziehbar sind, was bei Fehlern, die nur sporadisch auftreten, was bei Fehlern, die außerhalb der Einflusssphäre aller Beteiligter liegen?
- Wer bzw. was entscheidet zwischen Fehler und Verbesserung? Wer entscheidet bei diesbezüglichen Streitfragen?
- Welche Service Levels gelten? Gelten sie nur für bereits aufgetretene Fehler, oder auch für noch nicht aufgetretene Fehler (z.B. Bugs oder auch Zero-Day-Exploits in Libraries)? Wer prüft ob es derartige Fehler gibt?
- Welche Service Levels gelten für perfektionierende & adaptive Wartung? Wer prüft, welche Attribute zu verbessern sind, welche technischen Schulden abzubauen sind, welche gesetzlichen Rahmenbedingungen oder Änderungen des Standes der Technik notwendig sind?
- Was passiert, wenn viele leichte Fehler mit geringer Dringlichkeit in Summe das Leben der Anwender schwer machen?
- Wann gilt ein Fehler als behoben, eine Verbesserung/Adaption als umgesetzt? Pausieren Service Levels außerhalb der Arbeitszeiten oder bei Rückfragen?
- Wie kann man verhindern, dass ChangeRequests extrem teuer werden? Inwieweit beeinflussen zukünftig umgesetzte Erweiterungen und Änderungen die Wartungspauschale oder Service Levels?
- Welchen Einfluss haben Auftraggeber und Auftragnehmer auf Weiterentwicklungen der Software? Müssen alle Weiterentwicklungen (z.B. für andere Kunden) vom Auftraggeber akzeptiert und/oder produktiv genommen werden? Muss der Auftragnehmer jeden ChangeRequest akzeptieren? Hat der Auftraggeber Einfluss auf deren Priorisierung bzw. Release-Dates?
- Wie werden Änderungen im Vorfeld kommuniziert bzw. vereinbart? Gibt es z.B. eine abgestimmte Roadmap, werden sie in ReleaseNotes verständlich beschrieben?
- Was passiert nach Ablauf bzw. Kündigung des Wartungsvertrages? Ist eine weiterführende Wartung durch den Auftragnehmer sichergestellt? Was, wenn dieser in Konkurs geht oder den Wartungstätigkeiten nicht nachkommt? Wie kann der Auftraggeber bzw. ein Dritter die Wartung übernehmen?
Die ersten drei Punkte lassen sich leicht klären: Nach IEEE 610 gehören sie alle zur Softwarewartung - nach ISO/IEC/IEEE 14764 fällt allerdings die perfektionierende Wartung unter "Enhancement", potentiell auch die adaptive Wartung. Präventive und adaptive Wartung müssen daher in Wartungsverträgen explizit behandelt werden - falls sie ausgeschlossen werden, dann derart, dass dem Auftraggeber die Konsequenzen (z.B. Verfehlung des Standes der Technik mit all seinen juristischen und technischen Konsequenzen) klar sind. Analog dazu sollte auch die perfektionierende Wartung vertraglich geregelt werden. Der Auftragnehmer kann ja zur Recht davon ausgehen, dass die Attribute der Software zum Fertigstellungszeitpunkt den Anfordernissen genügten, die Software also keine diesbezügliche Wartung benötigt.
All die anderen genannten Punkte können leider nicht pauschal beantwortet werden. Dennoch haben sie einen erheblichen Einfluss auf eine erfolgreiche Softwarewartung. Sie sollten daher unbedingt vertraglich festgelegt werden - am Besten schon zum Zeitpunkt der Beauftragung der Software, damit nicht die Abnahme der Software durch aufwändige und vielleicht für eine oder beide Seiten unbefriedigende Wartungsvertragsverhandlungen getrübt wird. → In den kommenden oben verlinkten Blogposts werden alle genannten Punkte behandelt.
Fazit: In Wartungsverträgen werden oft essentielle Punkte nicht behandelt. Das merkt mal leider erst in der Wartungsphase, was meist zu Nachverhandlungen bzw. für Auftraggeber und/oder Auftragnehmer unbefriedigenden Ergebnissen führt.
Kommentare
Kommentar veröffentlichen
Wenn du auf meinem Blog kommentierst, werden die von dir eingegebenen Formulardaten (und unter Umständen auch weitere personenbezogene Daten, wie z. B. deine IP-Adresse) an Google-Server übermittelt. Mehr Infos dazu findest du in der Datenschutzerklärung von Google (https://policies.google.com/privacy).