Blog

De juridische gevolgen van agile softwareontwikkeling

Agile is een manier van softwareontwikkeling die de laatste jaren veel aan populariteit heeft gewonnen. Agile is het Engelse woord voor behendig of lenig. Dat is ook precies wat agile is: Er is geen vooraf vaststaand eindresultaat bepaald en er kan flexibel worden ontwikkeld.

Bij agile softwareontwikkeling staat samenwerking tussen opdrachtgever en opdrachtnemer centraal. Bij de agile methode wordt het uit te voeren project in grote lijnen opgezet, waarna meteen wordt gestart met de ontwikkeling van de software. Nauwkeurig afgebakende functionaliteiten worden in een korte periode aan de software toegevoegd. Dit worden sprints of iteraties genoemd. Opdrachtgever en opdrachtnemer werken nauw met elkaar samen. Hierdoor is de kans groot dat de software uiteindelijk aan de wens van de opdrachtgever zal voldoen. Het risico op een mislukt project wordt daarmee kleiner.

Juridische benadering

De agile methode dient juridisch anders te worden benaderd dan traditionele ontwikkelingsmethoden, zoals de waterval methode (hierbij wordt vooraf een eindresultaat afgesproken), omdat de verhoudingen tussen opdrachtgever en opdrachtnemer anders liggen, en er andere contractuele afspraken aan ten grondslag liggen. Zo wordt er volgens de agile methode bijvoorbeeld niet vooraf een bepaald eindresultaat vastgelegd.

In deze blog zal verder in worden gegaan op wat de juridische gevolgen zijn van het werken volgens de agile methode met name voor wat betreft de omvang van de gemaakte afspraken, de verhouding tussen opdrachtgever en opdrachtnemer en het recht op nakoming en wanprestatie.

Verhouding opdrachtgever-opdrachtnemer

Als de agile methode wordt gebruikt om software te ontwikkelen, dan betekent dit onder meer dat de opdrachtgever actief wordt betrokken bij het project. Van de opdrachtgever mag dan ook worden verwacht dat hij beslissingen en verantwoordelijkheid neemt gedurende het project. Dit heeft tot gevolg dat niet alleen de opdrachtnemer, maar ook de opdrachtgever (mede)verantwoordelijk is voor het eindresultaat.

Dit betekent echter niet dat opdrachtgever altijd in dezelfde mate verantwoordelijk is voor het eindresultaat als de opdrachtnemer. De opdrachtnemer is deskundig, terwijl de opdrachtgever (meestal) minder of niet deskundig is. Op de opdrachtnemer rust dan ook een zware zorgplicht wat betreft advisering en begeleiding van het agile project. Schending van deze zorgplicht kan leiden tot aansprakelijkheid van de leverancier.

Agile en de omvang van de afspraken

Het maken van goede contractuele agile afspraken is in het algemeen lastiger dan het maken van goede afspraken onder bijvoorbeeld de waterval-methode, omdat geen eindresultaat in het contract wordt gedefinieerd. Bij een agile project werken partijen vaak samen zonder dat überhaupt naar het contract wordt gekeken. In veel gevallen loopt dit goed af, juist omdat partijen nauw samenwerken en samen beslissingen nemen. Maar als het toch misgaat, biedt het contract weinig houvast omdat hierin geen duidelijke afspraken zijn gemaakt.

Bij agile projecten wordt zoals gezegd geen eindresultaat gedefinieerd, maar er wordt slechts een algemeen idee bepaald van datgene dat dient te worden ontwikkeld (de “backlog”). Omdat er geen eindresultaat is overeengekomen, kan geen sprake zijn van een resultaatsverplichting van de opdrachtnemer. Ook het niet realiseren van de backlog kan niet leiden tot aansprakelijkheid van de opdrachtnemer. De backlog is namelijk slechts het vertrekpunt dat steeds kan worden bijgesteld. Uitgangspunt bij agile ontwikkeling is dat de opdrachtnemer tot niets meer verplicht is dan het ter beschikking stellen van bekwame ontwikkelaars die zich inspannen om de gewenste functionaliteiten te ontwikkelen.

Dat het volgen van de agile methode met zich brengt dat geen (harde) afspraken kunnen worden gemaakt over het eindresultaat, betekent niet dat er helemaal geen harde afspraken kunnen worden gemaakt. Er kunnen namelijk wel degelijk harde afspraken worden gemaakt over het agile proces als zodanig. Partijen kunnen bijvoorbeeld overeenkomen dat het werk wordt uitgevoerd door een deskundig team, dat de backlog wordt bijgestuurd, dat wordt gerapporteerd en dat alle functionaliteiten moeten voldoen aan de eisen die in de “definition of done” zijn vastgelegd. Als dit soort afspraken zijn gemaakt, dan kan de opdrachtnemer tussentijds worden aangesproken wanneer niet wordt gehandeld overeenkomstig deze afspraken.

Agile en het recht op nakoming en wanprestatie

Dat de backlog geen gedefinieerd eindresultaat is, betekent dat de opdrachtgever de opdrachtnemer niet kan houden aan het realiseren hiervan. Het is zelfs inherent aan de agile methode dat niet de gehele backlog zal worden gerealiseerd.

Het recht op nakoming is bij agile projecten dan ook beperkt tot het gezamenlijk uitvoeren van de iteraties of sprints. Wanneer een project volgens de agile methode wordt gerealiseerd en opleveringen niet naar de zin zijn van de opdrachtgever, is het uitgangspunt dat de opdrachtnemer het geleverde werk moet aanpassen conform de (nadere) instructies van de opdrachtgever. In samenspraak worden de functionaliteiten dan aangepast. Afhankelijk van de afspraken kan de opdrachtnemer hiervoor extra kosten in rekening brengen bij de opdrachtgever.

Het aansprakelijk stellen van een opdrachtnemer op grond van wanprestatie is lastig bij agile projecten, vanwege het feit dat op de opdrachtnemer geen resultaatverplichting rust. Van een tekortkoming in het eindresultaat kan bij agile projecten dus niet of nauwelijks sprake zijn, omdat geen resultaatsverplichting rust op de opdrachtnemer en geen eindresultaat is gedefinieerd. Een tekortkoming in de procesafspraken is wel goed mogelijk. Bijvoorbeeld wanneer de kwaliteit van het team niet voldoende is of niet volgens de afspraken wordt samengewerkt. Hierover moeten dan wel afspraken zijn gemaakt. Om dit soort tekortkomingen aan te kunnen aantonen, is een vastlegging van tussentijdse beslissingen en keuzes essentieel.

Conclusie

Werken volgens de agile methode is fijn, omdat partijen nauw met elkaar samenwerken. De kans dat het eindresultaat aan de eisen van opdrachtgever voldoet, wordt daarmee vergroot. Wees je echter bewust van de juridische gevolgen van deze methode. De kans dat het project mislukt is kleiner, maar als het mislukt, dan zijn er ook minder mogelijkheden om juridische stappen te ondernemen. Maak daarom goede contractuele afspraken over het ontwikkelingsproces! En documenteer tussentijdse beslissingen en keuzes goed, zodat eventuele tekortkomingen kunnen worden aangetoond!

Gerelateerde berichten