Softwareontwikkelingsovereenkomst: wat moet er in staan?

Gepubliceerd op 2 maart 2021 om 14:13

Het wordt steeds gebruikelijker dat bedrijven gebruik willen maken van software die op maat is gemaakt voor de diensten die zij leveren. Vandaar dat er ook steeds meer vraag is naar softwareontwikkelaars die de capaciteit en de expertise hebben om software volledig te ontwikkelen op basis van de voorkeuren van de opdrachtgever. Het voordeel van het op maat laten ontwikkelen van software is dat het eindproduct aansluit bij de wensen van de opdrachtgever. Om tot dit eindproduct te komen is het verstandig om een duidelijke softwareontwikkelingsovereenkomst aan te gaan waardoor het voor softwareontwikkelaar en de opdrachtgever duidelijk is wat er van ze verwacht wordt. In deze blog worden een aantal richtlijnen besproken die mee kunnen worden genomen op het moment dat een softwareontwikkelaar en een opdrachtgever een softwareontwikkelingsovereenkomst gaan opstellen.

Softwareontwikkelmethode

De softwareontwikkelaar en de opdrachtgever zullen de functionele eisen van de software vastleggen in een projectplan met daaraan verbonden een aantal deadlines en de bijbehorende kosten. Bij het opstellen van dit projectplan moet wel rekening worden gehouden met het feit dat de functionele eisen gewijzigd kunnen worden. Vandaar dat er in de praktijk vaak wordt gekozen voor de zogenaamde Agile-methode. Bij deze methode wordt de ontwikkeling van de software opgesplitst in korte sprints waarbij per sprint een bepaalde functionaliteit ontwikkeld wordt. Daarnaast moet er worden opgenomen dat er niet gewerkt wordt op basis van fatale termijnen aangezien een ICT-project in de meeste gevallen later klaar is dan op voorhand werd verwacht. 

Intellectuele eigendomsrechten

Het ontwikkelen van software op basis van maatwerk zou in principe moeten betekenen dat de softwareontwikkelaar de broncode volledig schrijft voor de opdrachtgever. In de meeste gevallen maakt de softwareontwikkelaar ook gebruik van eigen ontwikkelde standaard software. Deze standaard software wordt dan geïntegreerd met de maatwerk software van de opdrachtgever. Het is aan te raden om hier een onderscheid tussen te maken in de softwareontwikkelingsovereenkomst. De intellectuele eigendomsrechten die rusten op de standaard software blijven berusten bij de softwareontwikkelaar en de rechten die rusten op de maatwerk software worden overgedragen aan de opdrachtgever. Het is hierbij wel aan te raden om in de bijlage van de ontwikkelovereenkomst op te nemen welke onderdelen maatwerk en welke onderdelen standaard software zijn.

Meerwerk

Het maakt niet uit of er wordt gekozen voor de Agile-methode of een traditionele ontwikkelmethode, er bestaat altijd de kans dat de hoeveelheid werk meer wordt dan op voorhand in het projectplan is vastgelegd. Vandaar dat er in de softwareontwikkelingsovereenkomst moet worden opgenomen dat partijen in dit geval met elkaar in overleg zullen gaan over de extra kosten of er wordt bij Agile de keuze gemaakt om de werkzaamheden te verplaatsten naar een andere sprint waarbij er een nieuwe prijs kan worden afgesproken.

Acceptatieprocedure en oplevering

Bij Agile is het gebruikelijk om na elke sprint de ontwikkelde functionaliteit te laten testen door de opdrachtgever. Het is aan te raden om voordat er wordt aangevangen met een sprint er een test case opgesteld wordt. In deze test case kunnen de wensen worden opgenomen die het resultaat moeten worden van de te nemen sprint. Op basis van de test case kan de opdrachtgever aangeven of een bepaalde functionaliteit geaccepteerd wordt. Het kan natuurlijk zo zijn dat de functionaliteit niet aan de eisen voldoet zoals omschreven in de test case. In dit geval kan er worden gekozen voor het verlengen van de sprint of dat er een nieuwe sprint nodig is om het afgekeurde te herstellen.

Conclusie softwareontwikkelingsovereenkomst

De bovenstaande richtlijnen kunnen gebruikt worden om de softwareontwikkelingsovereenkomst in te vullen. Op welke wijze dat gebeurt hangt vooral af van de ontwikkelmethode die wordt gekozen. Het toepassen van de Agile-methode zorgt ervoor dat het gewenste eindresultaat in korte sprints kan worden gehaald en dat de functionele eisen gaandeweg kunnen worden gewijzigd. Daarnaast is het onderscheid maken tussen standaard software en maatwerk software een belangrijk punt om op te nemen. Dit voorkomt achteraf de discussie wie welke rechten bezit. 


 

Wilt u een ontwikkelovereenkomst laten opstellen of heeft u verdere vragen?

Softwareontwikkeling ontwikkelaar software agile scrum