Agiles Programmieren vertraglich absichern

Nachdem sich agiles Programmieren in den vergangenen Jahren zunehmend als anerkannte Methode durchgesetzt hat, bleibt die Frage nach dem richtigen Vertrag für entsprechende Projekte. Entscheidend ist hierbei die richtige Struktur des Regelwerks.

Im Verlauf der letzten 10 Jahre wurden moderne Softwareentwicklungsmethoden wie agiles Programmieren von der Entwicklergemeinde immer stärker angenommen. Einer jüngeren Studie von Forrester Research zufolge gab fast die Hälfte von knapp 1300 befragten IT-Fachkräften an, agile Methoden zu nutzen. Nur etwa 13 Prozent antworteten, dass allein das klassische Wasserfallprinzip die Methode ihrer Wahl sei. Demnach programmieren schon jetzt etwa dreimal so viele IT-Fachkräfte nach agilen Methoden wie nach dem Wasserfallprinzip.

Befürworter dieser itnerativen Praktiken argumentieren, die Abkehr von den traditionell strikten und formalisierten Entwicklungsmethoden führe zu deutlich beschleunigten Entwicklungszyklen, zu effizienteren Prozessen und zu gesteigerter Kreativität. Kritiker hingegen halten dagegen, dass agiles Programmieren nur ein anderer Begriff für “Cowboy-Coding” sei und diese Methode letztlich zu weniger robuster und fehlerträchtigerer Software führe.

Einigkeit über die Programmiermethode

Heute wird kaum noch die Frage aufgeworfen, ob agiles Programmieren “gut” oder “schlecht” ist. Die Diskussion rankt sich eher um das Problem, bei welchen Arten von Projekten man agiles Programmieren am ehesten fruchtbar machen kann. Aus rechtlicher Sicht stellt sich hingegen weniger die Frage, ob agile Softwareentwicklung den herkömmlichen Entwicklungspraktiken überlegen ist. Technische und methodische Patentrezepte zur perfekten Durchführung eines Softwareprojektes gibt es ohnehin nicht.

Ein wesentlicher Faktor für die Erfolgschancen eines Projektes sind die durch den zugrunde liegenden IT-Vertrag definierten kommerziellen und organisatorischen Rahmenbedingungen bei der Leistungserbringung. Passt dieses Regelwerk nicht zu den gestellten fachlichen Aufgaben oder zu den technologischen Gegebenheiten im Projekt, kann ein Vorhaben oft schon vor dem Start zum Scheitern verurteilt sein.
Vor Beginn eines agilen Softwareentwicklungsprojekts ist es daher von überragender Bedeutung, dass sich Auftragnehmer und Auftraggeber einig sind, dass die Entwicklung der Software nach der agilen Methode im konkreten Projekt richtig und geeignet ist. Insbesondere der Auftraggeber muss schon bei der Entwicklung seiner Projektziele, Prioritäten und seines Budgets prüfen, welche Methode für sein Projekt zweckmäßig ist, um so den wirtschaftlichen Mehrwert der Projektergebnisse sicherzustellen. Beide Parteien müssen sich schließlich die Frage stellen, ob sie mit der zugrunde liegenden Programmierphilosophie, den unterschiedlichen Terminologien und den jeweiligen Schritten des agilen Entwicklungsprozesses vertraut sind. Dies sind die ersten wichtigen Schritte, um spätere Streitigkeiten zu vermeiden und sollten daher im Vertrag auch ihren Niederschlag finden.

Herausforderungen an den Projektvertrag

Innerhalb der “agilen” Entwicklergemeinde gibt es jedoch sogar Stimmen, die es einem nahelegen, auf die vertragliche Festlegung der Rahmenbedingungen ganz zu verzichten. Häufig zitiert wird in diesem Zusammenhang eines der grundlegenden Prinzipien, an dem sich agile Softwareentwicklung orientiert und welches im so genannten ‘Manifesto for Agile Software Development’ festgelegt wurde: “Customer collaboration over contract negotiation”.

Es kann in der Tat nicht bestritten werden,…