1. Omschrijf welke werkzaamheden de softwareontwikkelaar zal verrichten.
Het gebeurt regelmatig dat partijen een uitgebreid contract ondertekenen, maar dat nergens is vastgelegd welke werkzaamheden er verricht zullen worden. Algemene omschrijvingen als '20 uur ontwikkelwerkzaamheden' geven geen houvast als er na die 20 uur geen resultaat is geboekt. Bespreek daarom vooraf goed met de ontwikkelaar - en leg dat ook vast - welke verwachtingen jij als klant mag hebben.
2. Analyseer en mitigeer risico's
Bij contracten geldt vaak, maar gelukkig niet altijd, dat deze heel eenzijdig in het voordeel van de leverancier of de klant (meestal de leverancier) is. Het resultaat daarvan is dat partijen met elkaar steggelen over de voorwaarden waaronder de werkzaamheden worden uitgevoerd. In plaats van zo'n benadering kun je ook overwegen om in het contract de nadruk te leggen op de projectrisico's en maatregelen overeenkomen om die risico's (zoveel mogelijk) te beperken. Oftewel, als je goede afspraken hebt gemaakt over de inrichting van een back-up en/of -uitwijkvoorziening, dan is het belang van de aansprakelijkheidsclausule minder groot.
3. Wie is verantwoordelijk?
In het verlengde van de vorige tip valt het op dat in veel contracten niet wordt vastgelegd wie waarvoor verantwoordelijk is. Ter illustratie: de softwareontwikkelaar zal de gewenste software programmeren, maar heeft daarvoor ook informatie nodig van de afnemer. Ook ligt het voor de hand dat de softwareontwikkelaar ervoor zorgt dat zijn software functioneert, maar is de correcte werking mede afhankelijk van de systemen en de infrastructuur (intern netwerk, verbinding met internet e.d.) van de afnemer. Door heldere afspraken te maken over de verdeling van verantwoordelijkheden voorkom je discussies over de vraag wie verantwoordelijk is voor het niet of onvoldoende functioneren van software.
4. Een opdracht maakt nog geen eigenaar
Bij klanten (en soms ook softwareontwikkelaars) leeft de veronderstelling dat ze eigenaar (auteursrechthebbende) worden als ze voor de softwareontwikkeling hebben betaald. Maar dat is volgens de Auteurswet niet juist. De softwareontwikkelaar is auteursrechthebbende en de afnemer ontvangt een licentie c.q. gebruiksrecht om de software te mogen gebruiken. Als je als klant eigenaar van de software wilt worden, dan moet er in het contract met de ontwikkelaar een schriftelijke overdracht van de auteursrechten worden vastgelegd.
5.Vraag jezelf af of maatwerk echt nodig is
Veel softwareleveranciers bieden tegenwoordig standaardoplossingen aan. Het voordeel daarvan is dat de leverancier slechts één product hoeft te onderhouden en dat de kosten dus lager kunnen zijn. Als er dan voor een bepaalde use case functionaliteiten ontbreken, dan wordt er toch vaak teruggegrepen op maatwerksoftware. Maar hoe ga je dan om met het onderhoud en de ondersteuning van die maatwerksoftware, en wat als de leverancier zijn standaardoplossing wil wijzigen, waardoor het maatwerk niet meer relevant is? Daar moet dus goed over worden nagedacht. Een goed alternatief voor een maatwerkoplossing is het uitbreiden van de functionaliteiten van de standaardoplossing.