Kies een vaste prijs als de scope vastligt in een getekend programma van eisen en je team vergelijkbaar werk eerder heeft gebouwd. Kies nacalculatie als de klant nog zoekt, als er onbekende koppelingen in zitten of als het project in sprints groeit.
Het verschil zit in wie het risico draagt. Bij een vaste prijs betaalt je bureau een verkeerde inschatting. Bij nacalculatie betaalt de klant elk uur dat het werk kost.
Mengvormen zoals een vaste prijs per fase of nacalculatie met een plafond leggen dat risico ergens in het midden.
Wat is het verschil tussen vaste prijs en nacalculatie?
| Vaste prijs | Nacalculatie | |
|---|---|---|
| Wat de klant betaalt | Een vooraf afgesproken bedrag | Gemaakte uren maal uurtarief |
| Wie draagt het risico op uitloop | Je bureau | De klant |
| Wanneer je factureert | Per mijlpaal of in termijnen | Meestal per maand |
| Wat er gebeurt bij wijzigingen | Meerwerk, via een wijzigingsverzoek | Gewoon meer uren |
| Waar je marge vandaan komt | Sneller werken dan ingeschat | Het verschil tussen tarief en kostprijs |
| Wat de klant wil weten | Wat het totaal wordt | Waar de uren heen gaan |
Een vaste prijs is een gok op je eigen inschatting. Nacalculatie legt die gok bij de klant. Klanten weten dat, en daarom vragen inkopers bijna altijd om een vaste prijs.
Wanneer kies je voor een vaste prijs?
Een vaste prijs is verantwoord als aan deze voorwaarden is voldaan:
- De scope staat op papier. Een getekend PvE met genummerde eisen en een lijst van wat buiten scope valt.
- Je hebt het eerder gedaan. Een webshop, een klantportaal of een koppeling met een bekend pakket. Je weet hoeveel uur zoiets kost.
- Je hebt herbruikbare componenten. Een eigen basis voor authenticatie, beheer of betalingen maakt je inschatting korter en betrouwbaarder.
- De klant levert op tijd. Content, testdata en toegang tot systemen staan met een datum in het PvE.
- Er zit een buffer in de prijs. Hoe meer onbekenden, hoe groter de opslag.
Wanneer werk je beter op nacalculatie?
Nacalculatie past bij werk waarvan niemand de omvang kan voorspellen:
- doorontwikkeling van een bestaand product, in sprints;
- legacy-code die je nog niet hebt gezien;
- koppelingen met systemen zonder documentatie;
- een klant die nog niet weet wat hij wil;
- onderhoud en support.
De zorg van de klant is dat het totaal blijft oplopen. Neem die zorg weg met een wekelijks urenoverzicht per taak en een richtbudget per sprint. Wie elke week ziet waar de uren heen gaan, gaat minder snel discussiëren over de factuur.
Welke mengvormen werken in de praktijk?
| Mengvorm | Hoe het werkt | Wanneer het past |
|---|---|---|
| Analyse op nacalculatie, bouw vast | Betaalde analysefase levert het PvE, daarna een vaste prijs | Nieuwe klant, nieuw domein |
| Vaste prijs per fase | Elke fase krijgt een eigen prijs zodra de vorige klaar is | Grote projecten met veel onbekenden |
| Nacalculatie met plafond | Werkelijke uren tot een maximum | Klant wil zekerheid, scope beweegt nog |
| Nacalculatie met richtbudget | Werkelijke uren, met een seintje bij een afgesproken percentage van het budget | Doorontwikkeling, vaste klant |
| Vaste prijs per sprint | Vast team, vaste prijs per sprint, scope per sprint vrij | Productteams en langlopende trajecten |
Let bij een plafond op het verschil met een vaste prijs. Bij een plafond betaalt de klant minder als je sneller klaar bent. Bij een vaste prijs houd je dat verschil zelf.
Wat zegt de wet als je niets afspreekt over de prijs?
Een softwareproject is in Nederland meestal een overeenkomst van opdracht. Het Burgerlijk Wetboek geeft dan een paar regels die direct over je prijs gaan:
- Geen bedrag afgesproken. Volgens artikel 7:405 lid 2 BW is dan het gebruikelijke loon verschuldigd, of anders een redelijk loon.
- Klant stopt halverwege. De opdrachtgever kan altijd opzeggen (artikel 7:408 lid 1 BW).
- Vaste prijs en voortijdig einde. Hangt je loon af van het afmaken van de opdracht, dan heb je bij een voortijdig einde recht op een redelijk deel van het loon (artikel 7:411 lid 1 BW).
Hoe voorkom je dat een vaste prijs uitloopt?
- Laat het PvE tekenen voordat je een prijs noemt.
- Schrijf op wat buiten scope valt. Datamigratie, content invoeren, extra talen, training.
- Spreek een wijzigingsprocedure af. Elke wijziging schriftelijk, met prijs en gevolgen voor de planning.
- Factureer per mijlpaal. Zo financiert de klant het werk mee en loop je minder risico als hij stopt.
- Leg een acceptatietermijn vast. Zonder schriftelijke afkeuring binnen die termijn geldt het werk als geaccepteerd.
- Meet na afloop. Leg geschatte en werkelijke uren per onderdeel naast elkaar. Daar worden je volgende offertes beter van.
Wat betekent je prijsmodel voor de code die je houdt?
Bij een vaste prijs verdien je het meest als je bestaande componenten hergebruikt. Dat werkt alleen als die componenten van je bureau blijven. Zet in het contract dat je eigen bibliotheken en tools buiten de overdracht van intellectueel eigendom vallen en dat de klant er een gebruiksrecht op krijgt.