Alles im Fluss – Vertragsgestaltung zu agilen Projekten
Als Probleme dieser klassischen Softwareentwicklung gelten dabei insbesondere die starke Regulierung und Reglementierung, da sämtliche oben skizzierten Schritte im Detail durchorganisiert und (schriftlich) festgehalten sein müssen, um die Überwachung des Entwicklungsstandes und des Projektfortschritts zu ermöglichen. Dies führt naturgemäß insbesondere zu einem ganz erheblichen Dokumentationsaufwand. Hinzukommen als weitere Schwierigkeiten die eingangs angeführten komplexen Anforderungen, die mit sich schnell ändernden spezifischen Anforderungen einhergehen, vor allem dann, wenn zahlreiche Anwender mit dem Programm arbeiten, die ihrerseits die unterschiedlichsten Erwartungen an das Projekt stellen.
Die Idee hinter der agilen Softwareentwicklung ist demgegenüber, möglichst einfache und bewegliche Teilprozesse zu schaffen, um einerseits den Abnehmer der Software intensiver in das Projekt einzubinden, zum anderen aber vor allem um einen schnelleren Einsatz der Entwicklung zu gewährleisten. Als Grundlagen der agilen Entwicklung lassen sich dabei folgende Grundsätze festhalten:
- die funktionierende Software ist wichtiger als eine umfassende Dokumentation,
- die Zusammenarbeit mit dem Kunden steht über Vertragsverhandlungen und
- das Reagieren auf Veränderungen hat größere Bedeutung als das Befolgen eines vorgegebenen Plans.
Hierzu soll selbstorganisierten Teams vertraut werden, die eine intensivere Zusammenarbeit von Experten und Entwicklern ermöglicht und den Informationsaustausch durch persönliche Absprachen fördert.
Wesentlich ist dieser Art der Programmentwicklung demnach, dass die Anforderungen und Vorgaben zunächst unvollständig sind und sich während des Projekts darüber hinaus auch ändern können.
Der gesamte Prozess der Softwareentwicklung verläuft dabei nicht linear, sondern iterativ, indem man also versucht, sich der Lösung schrittweise anzunähern. Es ist offensichtlich, dass dies wiederum nur gelingen kann, wenn neben der bereits angesprochenen engen und ständigen Abstimmung der beteiligten Personen bzw. Teams insbesondere auf Seiten der Entwickler die Bereitschaft vorhanden ist, auf sich – auch kurzfristig – verändernde Kundenanforderungen einzugehen, mag dies auch wiederholt geschehen. Zugleich verdeutlicht dies, dass die enge Abstimmung und der ständige Kontakt zwischen den beteiligten Personen unumgängliche Mindestvoraussetzungen sind, da nur so der Entwicklungsprozess überhaupt erst möglich ist. Damit verbunden wiederum ist notwendigerweise die räumliche Nähe der Entwickler zum Kunden, um den intensiven und direkten Informationsaustausch sicherzustellen.
Für den Kenner klassischer Entwicklungsprozesse offenbart sich hier ein potenzieller Konflikt auf Seiten des Entwicklers: es wird nahezu unmöglich sein, für ein agiles Projekt eine feste Preisgrenze zu benennen, geschweige denn gar einen Festpreis zu vereinbaren. Das Grundprinzip der agilen Softwareentwicklung, auch kurzfristige Änderungswünsche unmittelbar umzusetzen, führt konsequenterweise dazu, dass selbstverständlich der Entwicklungsaufwand und die notwendige Manpower wesentlich höher ist, da Programmierleistungen nicht nur ausreichend vorgehalten werden müssen, sondern diese auch individuell für kurzfristige Anforderungen einsetzbar sein müssen. Auch eine Gesamtdauer des Entwicklungsprozesses wird sich zu Beginn des Projekts nicht abschätzen lassen, wie erst recht ein konkretes Fertigstellungsdatum schon aus rein praktischen Gründen nicht genannt werden kann. Vor diesem Hintergrund wird deutlich, dass die agile Programmierung überhaupt nur für ausgewählte Projekte infrage kommt und auf beiden Seiten zudem die Bereitschaft bestehen muss, die bisherigen klassischen Vorgaben der Programmentwicklung zu verlassen.
Für die konkrete Vertragsgestaltung bedeutet dies letztendlich, dass sich ein definiertes Ziel im Sinne eines Werkvertrages kaum vereinbaren lassen wird. Zwar liegt der Zusammenarbeit selbstverständlich der Wunsch des Auftraggebers nach einer konkreten Softwareentwicklung zugrunde. Da jedoch sowohl die Ausgestaltung der Entwicklungsarbeit als auch das Endergebnis letztlich vollkommen offen sind, steht weniger der konkrete Erfolg, als vielmehr die Programmierleistung im Vordergrund, nachdem es schon kein Pflichtenheft gibt, das es abzuarbeiten gilt. Wie bereits geschildert, ist darüber hinaus die Vereinbarung eines Festpreises nahezu unmöglich, weshalb sich hier alternative Abrechnungsmethoden etablieren werden, sei es eine Bezahlung rein nach Aufwand oder aber eine Bezahlung, die sich an der Nutzung des fertigen Programms orientieren wird.
Besonders wichtig ist weiter die Auswahl und die Benennung konkreter Personen eines Projektteams und die Vereinbarung fester Besprechungsintervalle und Regelungen dazu, wie die Ergebnisse solcher Besprechungen umzusetzen sind.
Fest steht aber bereits jetzt, dass agile Projektentwicklungen in Zukunft eine wesentlich größere Bedeutung für umfangreiche und komplexe Projekte haben werden.
Stephan Wiedorfer-Rode
Weitere Artikel dieses Autors:
- Artikel „Compliance – was ist heute eigentlich noch erlaubt?“
- Artikel „Ist das Internet der Dinge zuallererst ein Internet der Rechtsunsicherheit?“
- Artikel „Es war einmal das schwarze Brett… Wie Sie rechtlich sicher Social Media Kanäle nutzen!“
- Artikel „Digitaler Butler oder Türspion? Was bei der Einführung einer Mieter App zu beachten ist“
- Artikel „Vertragsgestaltung bei Software-Implementierung – Welchen Stellenwert nehmen Fairness und Transparenz ein?“
- Artikel „Alles im Fluss – Vertragsgestaltung zu agilen Projekten"
- Artikel „WhatsApp im Unternehmen – Wie sieht die rechtskonforme Nutzung aus?"
- Artikel „Was ist in Asset- und Property Management-Verträgen zu digitalen Daten zu regeln?"
- Artikel „Smart ja, aber auch sicher? Drohnen im Einsatz für Hausverwaltungen"
- Artikel „Sind Sicherheitslücken für Hackerangriffe ein Mangel, für den der Softwareanbieter haftbar gemacht werden kann?"
- Artikel „Die Gaspreise steigen, die Gaspreisbremse soll Abhilfe schaffen."
- Artikel „Mieterstrom – Eine nachhaltige Energiealternative"