Vertragsgestaltung bei agiler Softwareentwicklung

Vertragsgestaltung bei agiler Softwareentwicklung

Im Rahmen agiler Softwareentwicklung ist bei der konkreten Vertragsgestaltung besondere Sorgfalt angebracht, da sich die Zusammenarbeit in diesem Bereich meist nicht ohne weiteres klar einem bestimmten Vertragstyp zuordnen lässt. Dem Vertragstyp kommt indes schon allein deshalb erhebliche Bedeutung zu, als sich unter anderem die Ansprüche bei mangelhafter Vertragsausführung (Gewährleistungsansprüche) je nach rechtlicher Einordnung des Vertrages teils stark unterscheiden.

Softwareentwicklungsverträge können zunächst grundsätzlich als Dienst- oder Werkvertrag ausgestaltet sein. Von welchem dieser beiden Vertragstypen im konkreten Fall auszugehen ist, kann vor allem dann schwierig abzugrenzen sein, wenn schon dem Vertragswerk selbst keine eindeutigen Schwerpunkte zu entnehmen sind.

Der grundlegende Unterschied dieser Vertragstypen liegt in der geschuldeten Vertragsleistung. Bei einem Dienstvertrag wird von dem Softwareentwickler kein bestimmter Erfolg geschuldet, er muss „nur“ seine vertragsgemäße Dienstleistung erbringen. Demgegenüber setzt der Werkvertrag einen bestimmten Erfolg, also ein konkretes Ergebnis der Entwicklungstätigkeit voraus. Insoweit wird dieser Vertragstyp dem Interesse des Auftraggebers wohl eher gerecht, wenn er am Ende eines kostenintensiven Projektes ein – wenn auch zu Beginn bei agiler Softwareentwicklung noch nicht exakt eingrenzbares – greifbares Ergebnis in Händen halten möchte. Dementsprechend hat der Auftraggeber in der Regel auch ein gesteigertes Interesse daran, dass der Softwareentwickler dafür gerade stehen muss, wenn die beauftragte Software am Ende nicht funktioniert.

Nachdem die Eigenschaften der zu erstellenden Software bei Anwendung agiler Entwicklungsmethoden bei Vertragsschluss noch nicht feststehen, ist der für die Annahme eines Werkvertrages wesensmäßig geschuldete Erfolg  zu diesem Zeitpunkt noch nicht bestimmbar. Die im Scrum-Verfahren regelmäßig vereinbarten Verfahrensabläufe (Sprints, Backlogs, Meetings, User-Stories, Tests) haben zunächst eher dienstvertraglichen Charakter, während den im Rahmen der Sprints konkret erzielten (Teil-) Ergebnissen insbesondere bei festgelegten Abnahmemechanismen werkvertraglicher Charakter zukommt. Diese Vermengung an sich verschiedener Vertragstypen erschwert eine klare Zuordnung und bringt daher im Konfliktfall Gefahren mit sich.

Soweit ersichtlich geht der überwiegende Teil der Rechtsprechung bei Softwareentwicklungsverträgen zwar zumeist (noch) von der Anwendung von Werkvertragsrecht aus. Nicht zuletzt weil bei agilen Softwareentwicklungsprojekten regelmäßig hohe Budgets investiert werden, sollte man sich hierauf nicht verlassen und für möglichst klare Regelungen und damit mehr Rechtssicherheit sorgen. Ob dies am besten durch eine stringente Vertragsarchitektur oder eine Trennung der verschiedenen Phasen (Rahmenvertrag mit allgemeinen Regelungen zu Planung und Verfahrensabläufen sowie separate Teilprojektverträge für die konkrete Umsetzung) zu bewerkstelligen ist, sollte anhand der Vorgaben des konkreten Projektes bestimmt werden.

Haben Sie Fragen? Kontaktieren Sie uns hier unverbindlich.