Contracten voor softwareontwikkeling & onderhoud
Professionele contracten voor softwareontwikkelaars
Software ontwikkelen voor een klant brengt specifieke juridische risico's met zich mee. Functionaliteiten moeten worden ontworpen, requirements veranderen en tijdens de ontwikkeling ontstaan vrijwel altijd nieuwe inzichten.
Met onze contracten voor softwareontwikkeling & onderhoud beschik je over een professionele contractbasis voor het ontwikkelen, implementeren, onderhouden en ondersteunen van software voor zakelijke klanten.
Ontwikkeld vanuit het perspectief van de softwareleverancier.
Vaste prijs. Professionele IT-contracten. Direct toepasbaar in jouw organisatie.
Wat is een softwareontwikkelingsovereenkomst?
Een softwareontwikkelingsovereenkomst regelt de afspraken tussen een opdrachtgever en een leverancier die software ontwikkelt of aanpast.
Dat kan bijvoorbeeld gaan om maatwerksoftware, webapplicaties, apps, platforms, API's, integraties of uitbreiding van bestaande software.
Een ontwikkelproject kent vrijwel altijd onzekerheden. Niet ieder detail kan vooraf worden voorzien.
Het contract moet met die werkelijkheid rekening houden.
Waarom heeft een softwareontwikkelaar specifieke contracten nodig?
Bij softwareontwikkeling ontstaat regelmatig discussie over de vraag wat precies is afgesproken.
De klant stelt bijvoorbeeld dat functionaliteit onderdeel van de opdracht was. De ontwikkelaar beschouwt deze als aanvullend werk.
Of een planning wordt gezien als harde deadline terwijl deze gebaseerd was op aannames over medewerking van de opdrachtgever.
Belangrijke onderwerpen zijn daarom:
scope;
requirements;
planning;
medewerking van de klant;
acceptatie;
wijzigingen;
meerwerk;
intellectuele eigendom;
onderhoud;
aansprakelijkheid.
Dat zijn geen theoretische problemen. Het Gerechtshof 's-Hertogenbosch moest eind 2024 bijvoorbeeld oordelen over de uitleg van een IT-overeenkomst waarin onder meer maat- en meerwerk en de zorgplicht van de professionele IT-leverancier een rol speelden (ECLI:NL:GHSHE:2024:4059).
Welke contracten heeft een softwareontwikkelaar nodig?
Softwareontwikkelingsovereenkomst
De hoofdovereenkomst bevat de belangrijkste commerciële en juridische afspraken.
Algemene voorwaarden
De algemene voorwaarden regelen onderwerpen die voor meerdere klanten gelijk kunnen blijven, zoals betaling, intellectuele eigendom, aansprakelijkheid, overmacht en beëindiging.
Statement of Work
Een Statement of Work (SOW) beschrijft de concrete opdracht.
Daarin kunnen onder andere worden opgenomen:
doelstelling;
scope;
deliverables;
planning;
verantwoordelijkheden;
aannames;
afhankelijkheden;
acceptatiecriteria;
tarieven en betalingsmomenten.
Onderhouds- en supportafspraken
Na oplevering begint vaak een nieuwe fase. Software moet worden onderhouden, fouten moeten worden opgelost en nieuwe versies kunnen worden ontwikkeld.
Daarvoor zijn andere afspraken nodig dan tijdens de ontwikkeling.
Eén samenhangende contractstructuur
Een ontwikkelovereenkomst, SOW, algemene voorwaarden en onderhoudsafspraken moeten op elkaar aansluiten.
Een uitgebreide technische scope heeft weinig waarde als elders onduidelijk blijft wanneer een resultaat is geaccepteerd.
Onze documenten zijn daarom ontwikkeld als één samenhangende contractstructuur.
Fixed price of nacalculatie?
Bij fixed price neemt de leverancier een groter risico op tegenvallende werkzaamheden. Dat maakt een nauwkeurige scope en goede wijzigingsregeling belangrijk.
Bij nacalculatie moet juist duidelijk zijn dat de uiteindelijke omvang van de werkzaamheden niet vooraf wordt gegarandeerd.
Ook hybride modellen zijn mogelijk.
Het contract moet aansluiten bij het gekozen commerciële model.
Agile softwareontwikkeling en contracten
Software wordt steeds vaker Agile ontwikkeld.
Daarbij worden niet alle functionaliteiten vooraf volledig gespecificeerd en kunnen prioriteiten gedurende het project veranderen.
Dat betekent niet dat contractuele afspraken over scope overbodig zijn.
Er moet juist duidelijk worden geregeld hoe backlog, sprints, prioriteiten, budgetten, acceptatie en wijzigingen zich tot elkaar verhouden.
Acceptatie van software
Wanneer is software opgeleverd?
En wanneer mag de leverancier ervan uitgaan dat de klant het resultaat heeft geaccepteerd?
Een goede regeling beschrijft bijvoorbeeld:
de acceptatieprocedure;
de testperiode;
acceptatiecriteria;
wat als gebrek geldt;
welke tekortkomingen acceptatie niet verhinderen;
wat gebeurt wanneer de klant niet tijdig test;
wanneer ingebruikname als acceptatie geldt.
Ook recente rechtspraak laat zien hoe belangrijk de precieze contractuele verplichtingen zijn. In een softwareontwikkelingsgeschil uit 2025 stond onder meer ter discussie wat precies moest worden geleverd en of de leverancier rechtsgeldig in verzuim was geraakt (Rb. Amsterdam, ECLI:NL:RBAMS:2025:4994).
Bugs zijn niet automatisch tekortkomingen
Software zonder enige fout bestaat in de praktijk vrijwel niet.
De aanwezigheid van een bug betekent daarom niet automatisch dat de leverancier zijn contractuele verplichtingen niet is nagekomen.
Van belang is onder meer wat partijen hebben afgesproken over functionaliteit, acceptatiecriteria, herstel en onderhoud.
Intellectuele eigendom
Een opdrachtgever die voor ontwikkeling betaalt, gaat soms ervan uit dat daarmee automatisch alle intellectuele-eigendomsrechten worden verkregen.
Dat is niet vanzelfsprekend.
Voor een softwareontwikkelaar kan het bovendien onwenselijk zijn om generieke onderdelen, libraries, frameworks, ontwikkelmethoden en bestaande software over te dragen.
Daarom moet onderscheid worden gemaakt tussen bijvoorbeeld:
bestaande software;
specifiek ontwikkelde software;
generieke componenten;
open source;
documentatie;
libraries en tools;
rechten van derden.
Open source en componenten van derden
Vrijwel iedere moderne applicatie bevat softwarecomponenten van derden.
De ontwikkelaar kan daarvoor niet altijd dezelfde garanties geven als voor eigen software.
Contractuele afspraken moeten daarmee rekening houden.
Onderhoud en doorontwikkeling
Na oplevering ontstaat vaak een langdurige relatie.
Er kunnen afspraken nodig zijn over correctief onderhoud, updates, nieuwe releases, ondersteuning, beveiligingsupdates, responstijden, nieuwe functionaliteit en end-of-life.
Voor welke bedrijven?
Onder meer voor:
softwareontwikkelaars;
appbouwers;
webdevelopment-bedrijven;
softwarehuizen;
integratiespecialisten;
platformontwikkelaars;
low-codeontwikkelaars;
ontwikkelaars van maatwerksoftware.
Waarom IT-contracten.nl?
Softwareontwikkeling vereist kennis van recht én technologie.
Onze contracten zijn ontwikkeld door gespecialiseerde ICT-advocaten en mede tot stand gebracht met moderne AI-technologie.
De kracht van AI, de zekerheid van praktijkervaring.
Veel voorkomende juridische vraagstukken zijn al professioneel uitgewerkt. Daardoor kunnen wij de contracten aanbieden tegen een vaste prijs.

