Vertragsgestaltung in der agilen Softwareentwicklung
Die agile Softwareentwicklung lebt von der engen Einbindung der Endanwender, bei Aufträgen oft als Feedback gebündelt über einen Verantwortlichen des Auftraggebers. Ergebnisse werden gemeinsam in sogenannten Sprints erarbeitet, welche je nach Art des Projektes jeweils 2 bis 4 Wochen dauern. In der Vorbereitung der einzelnen Sprints wird festgelegt an welchen Themen gearbeitet wird, eine Abnahme der Teilergebnisse erfolgt dann am Ende eines Sprints. Dementsprechend ist es nicht möglich zu Anfang eines Projektes die zu liefernden Ergebnisse in Form eines Pflichtenhefts zu definieren.
Auch eine Ausarbeitung pro Sprint stellt sich in der Praxis als zu aufwändig und fehlerhaft dar. Daraus resultiert natürlich, dass sich ein Festpreis nicht mit einem agilen Vorgehen vereinbaren lässt. Letztendlich landet man also bei einer gemeinsamen Arbeitsweise, in welcher der Auftraggeber eng eingebunden den Auftragnehmer inhaltlich steuert und die Abrechnung der geleisteten Aufwände zumeist auf Monatsbasis erfolgt. Neben dem notwendigen gegenseitigen Vertrauen ergeben sich auch einige handfeste Probleme bei der Vertragsgestaltung.
Dienstvertrag nach BGB §611
Ein Dienstvertrag, geregelt im BGB §611, liegt vor, wenn eine Partei sich zur Leistung von bestimmten Diensten verpflichtet, und die andere Partei sich bereit erklärt, für diese Dienste eine Vergütung zu leisten. Der Auftragnehmer verpflichtet sich demnach zwar zur Leistung, aber nicht zum Erfolg.
Beim Werkvertrag, geregelt im BGB §631, verpflichtet sich eine Partei ein Werk ohne Mängel herzustellen. Die andere Partei verpflichtet sich zu Mitwirkungspflichten sowie das Werk abzunehmen und zu bezahlen. Im Unterschied zum Dienstvertrag, garantiert der Werkersteller ein Ergebnis und damit den Erfolg der Leistung.
Zur grundsätzlichen Arbeitsweise, der monatlichen Abrechnung der geleisteten Aufwände, würde der Dienstvertrag besser passen. Dies allerdings mit dem Nachteil, dass der Auftragnehmer nicht für den Erfolg und auch die Qualität verantwortlich ist. Gerade bei Softwareprojekten treten Probleme erst nach einiger Zeit auf. Sind diese nicht auf neue Rahmenbedingungen zurückzuführen (wie z. B. neue Betriebssystemversionen), dann ist der Auftragnehmer verpflichtet die Probleme kostenfrei zu beheben.
Werksvertrag als Lösung
Es bietet sich dementsprechend also ein Werksvertrag an, welcher so aufgesetzt ist, dass die Arbeitsweise über Sprints und Teilabnahmen sauber und effizient geregelt ist. Insbesondere ist darauf zu achten, dass die Rollen und Verantwortlichkeiten klar definiert sind. Der Auftraggeber darf zwar eng eingebunden sein und inhaltlich steuern, wie und welche Personen die konkrete Umsetzung übernehmen soll, muss aber in der Steuerung des Auftragnehmers liegen. Ansonsten kann es sich hier schnell um eine illegale Arbeitnehmerüberlassung handeln, auch mit der Möglichkeit dass sich Mitarbeiter des Auftragnehmers ein Arbeitsverhältnis beim Auftraggeber einklagen.
In der Praxis werden viele Softwareprojekte, gerade wenn diese erst einmal klein anfangen, komplett ohne Vertrag sondern nur auf Basis von Angeboten durchgeführt. Aufgrund der aufgezeigten Risiken möchten wir davon dringend abraten. Dieser Artikel soll der Sensibilisierung für das Thema dienen und stellt keine Rechtsberatung dar. Gerne stellen wir auf Anfrage unsere Vertragsvorlage zur weiteren Ausarbeitung durch Ihren Anwalt zur Verfügung.