Inzichten

Wat kost maatwerksoftware?

10 min lezen

Online gepubliceerde prijsbandbreedtes zijn zonder context vrijwel nutteloos. Wat telt zijn de variabelen die het bedrag bewegen — en hoe u een offerte leest zodat u bij elke leverancier hetzelfde vergelijkt.

Elk artikel over dit onderwerp drukt uiteindelijk een tabel met prijsbandbreedtes af. Die bandbreedtes zijn breed genoeg om voor vrijwel elk project waar te zijn, en juist daarom zeggen ze niets over het uwe. Een nuttiger vraag is welke variabelen het bedrag werkelijk bewegen, want zodra u die ziet, kunt u zowel verstandig plannen als een offerte kritisch lezen.

Wat de kosten werkelijk bepaalt

Het aantal afzonderlijke werkprocessen

Geen functies — werkprocessen. Een systeem waarin vijf rollen elk een andere route door dezelfde data volgen, is aanzienlijk meer werk dan een systeem waarin iedereen hetzelfde doet met meer opties. Elke rol vermenigvuldigt de rechtenlogica, de schermtoestanden en het testwerk. Tel bij het afbakenen de afzonderlijke routes in plaats van de schermen.

Koppelingen met systemen die u niet beheert

Dit is de post die in dit vak het meest consequent wordt onderschat. Koppelen aan een boekhoudpakket, een vervoerder of een betaaldienst is zelden de beloofde middag werk. De documentatie is onvolledig, de testomgeving gedraagt zich anders dan productie, snelheidslimieten duiken op onder echte belasting, en u moet gedeeltelijke storingen afhandelen zodat een time-out geen order dubbel aanmaakt. Reken op twee tot drie keer wat de koppeling lijkt te vragen.

Datamigratie

Moet bestaande data mee, dan bepaalt de kwaliteit ervan de kosten. Vijftien jaar aan records met inconsistente opmaak, dubbelingen en vrije tekstvelden waar een code werd verwacht, kost meer tijd om netjes te migreren dan het nieuwe systeem kost om te bouwen. Dit is het onderzoeken waard voordat iemand offreert, niet erna.

Hoe zeker de eisen zijn

Een vastgelegd proces met afgesproken regels is een rechttoe rechtaan inschatting. 'We herkennen het als we het zien' is geen inschatting, en elke vaste prijs die daaraan hangt bevat een forse reserve — die u betaalt, of die nu nodig blijkt of niet. Onzekerheid wegnemen vóór het offreren is de meest doeltreffende manier om kosten te verlagen.

Compliance en wettelijke eisen

Het verwerken van gezondheidsgegevens, betaalgegevens of gereguleerde financiële informatie voegt audittrails, encryptie-eisen, bewaartermijnen, toegangscontroles en vaak een externe beoordeling toe. Het is geen opslagpercentage; het is extra werk met een eigen doorlooptijd.

Waarom twee offertes voor één opdracht zo ver uiteenlopen

  • Ze hebben anders afgebakend. De één nam datamigratie, training en drie maanden nazorg mee; de ander offreerde alleen de bouw. Dat verklaart de meeste grote verschillen.
  • Ander leveringsmodel. Een offshoreteam tegen een lager dagtarief naast een lokaal team tegen een hoger tarief — de vergelijking die telt is de totale kosten inclusief aansturingslast, niet het tarief.
  • De één offreert wat u vroeg en de ander wat u nodig heeft. Een hogere offerte weerspiegelt soms een leverancier die een eis heeft opgemerkt die u niet had genoemd.
  • Andere reserve. Een vaste prijs draagt risico, en de leverancier beprijst dat risico. Een vage opdracht levert een grotere buffer op.
  • De één wil winnen op prijs en terugverdienen op meerwerk. Dat komt vaak genoeg voor om op te letten: kijk wat het contract zegt over wijzigingen in de scope.

Prijsmodellen, en wat elk model met u doet

ModelWerkt goed wanneerHet risico dat u draagt
Vaste prijsDe scope is werkelijk goed omschrevenWijzigen is duur; de leverancier kan kwaliteit inleveren om marge te beschermen
NacalculatieDe scope gaat evolueren en u kunt wekelijks bijsturenKosten zijn open zonder actieve sturing
Vaste prijs per faseDe meeste zakelijke softwareprojectenVraagt discipline om de scope binnen een fase te houden
Toegewijd teamDoorlopende ontwikkeling over kwartalenU stuurt het team feitelijk zelf aan, dus u moet die capaciteit hebben

Vaste prijs per fase is de afspraak die wij het meest gebruiken, omdat die u een hard bedrag geeft voor een omschreven stuk werk en een echt beslismoment bij elke grens — inclusief de beslissing te stoppen. Eén vaste prijs voor een heel programma klinkt veiliger en is dat meestal niet: het dwingt beide partijen elke wijziging tegen een contract te onderhandelen in plaats van tegen het doel.

Hoe wij tot een bedrag komen

Wij publiceren geen prijslijst, omdat een bedrag dat tot stand komt voordat iemand uw eisen heeft gelezen een gok is in de kleren van een offerte. De volgorde die wij in plaats daarvan volgen, is aan het begin bewust traag:

  1. Wij halen de eisen op — wat het systeem moet doen, wie het gebruikt, met welke bestaande hulpmiddelen het moet samenwerken, en wat waar moet zijn wil de eerste oplevering de moeite waard zijn.
  2. Daaruit stellen wij de scope vast en leggen die schriftelijk vast, inclusief wat bewust buiten beschouwing blijft en wat naar een latere fase gaat. Overeenstemming over de uitsluitingen telt even zwaar als over het werk.
  3. Wij maken een eerste offerte tegen die vastgelegde scope, met de aannames erachter uitgeschreven, zodat u ziet waar het bedrag werkelijk van afhangt.
  4. Vervolgens lopen wij de eisen en de calculatie punt voor punt met u door. Daar zit de meeste beweging: de scope wordt bijgesneden, een eis blijkt harder of losser dan hij eerst las, en het bedrag beweegt mee.
  5. Zodra de scope vaststaat en er niets wezenlijks meer openstaat, bevestigen wij de definitieve projectkosten voor die fase en start het werk daartegen.

De kosten die men vergeet

Software is geen investering die daarna stil blijft staan. Begroot het doorlopende deel vanaf het begin, want het komt hoe dan ook.

  • Hosting en diensten van derden — meestal bescheiden, maar maandelijks en blijvend.
  • Beveiligingspatches en updates van afhankelijkheden. Niet-onderhouden afhankelijkheden worden kwetsbaarheden, en de achterstand stapelt op: een framework dat twee hoofdversies achterloopt is een project om bij te werken, geen taak.
  • Wijzigingen naarmate het bedrijf verandert. Elk systeem dat echt wordt gebruikt genereert wijzigingsverzoeken, en dat is een teken van succes en geen fout in de afbakening.
  • Ondersteuning voor de mensen die het gebruiken, vooral in de eerste maanden.
  • Reken het doorlopende deel als een vaste regel in de begroting in plaats van als een incidentele verrassing. Hoeveel het wordt hangt af van hoe intensief het systeem wordt gebruikt en hoe snel het bedrijf eromheen verandert, dus het is de moeite waard het bij het afbakenen van de bouw af te spreken en niet na livegang.

Hoe u de kosten eerlijk verlaagt

  1. Snijd in de scope, niet in de kwaliteit. Een kleiner systeem dat goed is gebouwd wint het van een groot systeem dat goedkoop is gebouwd — dat tweede wordt onhoudbaar en wordt eerder vervangen.
  2. Bouw eerst één volledig werkproces en neem het echt in gebruik. U ontdekt welke van uw andere eisen aannames waren.
  3. Leg uw proces vast voordat u offertes vraagt. Leveranciers beprijzen onzekerheid, en u haalt die goedkoper weg dan zij.
  4. Gebruik bestaande producten voor standaardfuncties. Betalingen, e-mail, authenticatie en analytics zijn opgeloste problemen; betalen om ze na te bouwen is zelden te rechtvaardigen.
  5. Schoon uw data op vóór de migratie, met uw eigen mensen die de data begrijpen.
  6. Wees eerlijk over wat werkelijk nodig is voor de eerste oplevering. 'Fase twee' is een legitiem antwoord en meestal het juiste.

En wees op uw hoede bij de laagste offerte als die ver onder de andere ligt. Meestal wijst dat erop dat de leverancier de opdracht niet heeft begrepen, wat betekent dat het verschil later terugkomt als meerwerk — of als een systeem dat opnieuw gebouwd moet worden.

Dit is het soort werk dat wij doen. Is het van toepassing op iets dat u van plan bent, dan beschrijft onze pagina over maatwerksoftware hoe wij het aanpakken, of u kunt het project beschrijven en dan zeggen wij wat wij ervan denken.

Gerelateerde vragen

Is maatwerksoftware goedkoper dan SaaS-licenties?

Over een voldoende lange periode kan dat, zeker bij grotere aantallen gebruikers, maar de vergelijking moet doorlopend onderhoud, hosting en de kosten van wijzigingen meenemen — niet alleen bouwen tegenover licentie. Dekt een product uw proces afdoende, dan is licentiëren doorgaans de betere economie. Maatwerk wint wanneer uw proces werkelijk een concurrentievoordeel is of wanneer koppeling tussen systemen het echte probleem is.

Wat zou een verkenningsfase moeten kosten?

Een verkenning wordt als eigen stuk werk geoffreerd, op maat van het project, en niet vastgezet als percentage van een bouw die nog niemand heeft afgebakend. Wat het oplevert telt zwaarder dan het bedrag: een vastgelegde scope, een technische aanpak en een vaste prijs voor de fase erna. Een betaalde verkenning is doorgaans een goed teken — het betekent dat de leverancier u geen bedrag voorlegt voordat hij het probleem begrijpt. U hoort eigenaar te zijn van de uitkomsten en vrij te zijn ze elders onder te brengen.

Hoe voorkom ik dat de kosten uit de hand lopen?

Leg de prijs per fase vast met een expliciet uitgeschreven scope, spreek vooraf af hoe wijzigingen worden behandeld, sta erop dat aan het einde van elke fase werkende software wordt opgeleverd in plaats van voortgangsrapportages, en houd fasen kort genoeg dat een probleem in weken bovenkomt en niet in maanden.

Bespaart offshore ontwikkeling echt geld?

Soms, en de besparing is kleiner dan het verschil in dagtarief doet vermoeden zodra u aansturingslast, tijdzonewrijving en de kosten van miscommunicatie op een onvoldoende omschreven opdracht meerekent. Het werkt het beste met duidelijk vastgelegde eisen en iemand aan uw kant die de relatie actief kan sturen.

Zit u met zo'n beslissing?

Wij zijn graag een tweede mening, ook wanneer het antwoord is dat u ons niet nodig heeft.

Neem contact op