Zou het niet fijn zijn wanneer voor ieder bedrijfsproces een standaard software-oplossing bestaat? Als je betrokken bent bij procesoptimalisering, automatisering en de selectie van software dan ken je het spanningsveld tussen standaard software oplossingen en maatwerk oplossingen. Binnen dit veld worden keuzes gemaakt die verder gaan dan kortetermijnkosten. De keuze tussen maatwerk en standaardsoftware is gerelateerd aan de identiteit en strategie de organisatie.
Het is simpel wanneer een bedrijf een proces automatiseert dat al ver uitgedacht is en wat dus voor veel bedrijven hetzelfde is. Voor de financiële administratie is het bijvoorbeeld makkelijk om te kiezen tussen het bouwen van een maatwerk software applicatie, of het gebruiken van een standaard pakket. Het wordt al wat lastiger voor bijvoorbeeld webwinkelsoftware. Een startende webwinkel in goederen kan worden opgezet met behulp van een gespecialiseerde website builder, maar de sitebuilder zal zijn beperkingen tonen naarmate de webwinkel groter wordt, of het productaanbod meer divers.
Hoe software wordt samengesteld kan weergegeven worden op een schaal met aan de linkerkant: volledig maatwerk en aan de rechterkant: zeer gestandaardiseerd. Volledig maatwerk mag gezien worden als het bouwen van een applicatie vanaf ‘punt nul’. Dit is een theoretisch uiterste, want in ieder noemenswaardig project wordt gebruik gemaakt van externe pakketten of code-libraries. In het uiterste aan de rechterkant is eigenlijk geen sprake van software-ontwikkeling, maar van gebruik van software out-of-the-box. Ook dit is een theoretisch uiterste, omdat zelfs standaard boekhoudpakketten of sitebuilders moeten worden aangepast.
Afbeelding: Model van maatwerk tot standaardsoftware voor web development (Lucas Johnston, 2021).
De case van het denkbeeldige bedrijf Antons Textiel BV laat zien hoe verschillende zakelijke probleemstellingen leiden tot verschillende keuzes in standaard of maatwerksoftware. Antons Textiel produceert handdoeken, theedoeken, schoonmaakdoeken en badjassen. De producten worden verkocht via groothandels. Nu de distributie via de detailhandel sterk vermindert is deze producent genoodzaakt om online kanalen in te zetten om de verkoop op peil te houden.
Nu wordt zichtbaar hoe deze strategische keuze de keuze voor software-implementatie beïnvloedt. Indien Antons Textiel direct online gaat verkopen aan consumenten dan kan goedkopere standaardsoftware zoals WooCommerce of Jouwweb.nl geschikt zijn. Deze software ondersteunt standaard requirements voor e-commerce zoals het plaatsen van producten, het afhandelen van bestellingen en het integreren van Google Analytics. Maar de omschakeling van producent naar online retailer is groot en kost tijd. Een meer tactische keuze is waarschijnlijk om te verkopen via gevestigde online retailers op basis van dropshipment, bijvoorbeeld via Bol.com. Dit is een ander proces ten opzichte van verkoop aan consumenten, dat ook andere eisen stelt aan software. In dit scenario heeft Antons Textiel een combinatie van standaard cloudapplicaties nodig om de nodige informatiestroom van bestellingen en productassortiment te realiseren, eventueel met een gedeelte maatwerk.
Andere interessante voorbeelden, ook uit eigen ervaring zijn het verkopen van digitale producten die door een API van een derde partij worden geleverd, zoals e-tickets, of het verkopen van overlappende productassortimenten via verschillende webwinkels. Bij deze gevallen wordt het al snel nodig om de front-end (het stuk van de software die de klant of gebruiker ziet) los te trekken van de administratie (het stuk waarbinnen bijvoorbeeld administratie of transacties worden beheerd). API’s zorgen dan voor de communicatie tussen front-end, administratie en services van derden. In e-commerce wordt dit principe ook wel Headless Commerce genoemd. Meerdere webwinkels (front-ends) verbinden dan via een API met één administratiesysteem voor afhandeling van bestellingen en beheer van assortiment.
Standaardsoftware bestaat omdat bepaalde processen zo uitgekiend zijn en zo algemeen, dat er gesproken kan worden van een ‘one size fits all’ situatie. Maar des te meer specifiek een bedrijfsproces is, des te moeilijker het is om een standaardapplicatie toe te passen, des te groter ook de nodige investering. Treffend is dat deze specifieke processen dan ook het resultaat kunnen zijn van een uniek en concurrerend business model, waardoor een hogere investering in software gerechtvaardigd kan worden.
Anderzijds worden de kosten van het opzetten en onderhouden van maatwerksoftware vaak onderschat. Een bekende valkuil is dat processen die redelijk algemeen en simpel zijn toch worden geautomatiseerd met maatwerk software, terwijl het veel goedkoper en effectiever is een kleine aanpassing te maken van het bedrijfsproces op standaardsoftware. Het ontwikkelwerk op zich is al duur, maar daarna komen onderhoud, aanpassingen, training van het personeel. Bij gebruik van standaard (cloud) software heb je in ieder geval het voordeel van altijd up-to-date software, minder technische problemen en misschien kunnen overheadkosten van een software-ontwikkelorganisatie zelfs worden vermeden.
Alle software kan op een schaal geplaatst worden tussen twee theoretische uitersten: ‘volledig maatwerk’ en ‘volledig standaard’. We kunnen vaststellen dat de beste keuze tussen maatwerk en standaardsoftware factoren omvat zoals kosten, techniek, bedrijfsprocessen en strategie. Als manager, analist of architect is het nodig overzicht te hebben op deze zaken, om de keuze te kunnen maken in software implementatie die voor het bedrijf het meeste oplevert. We kunnen stellen dat de keuze voor maatwerksoftware gerechtvaardigd moet worden met een speciaal, of innovatief proces, terwijl aan de andere kant maatwerksoftware simpelweg soms niet de oplossing kan bieden die de organisatie nodig heeft.