Het probleem dat aan computerondersteunde programma's ten grondslag ligt, is vooral dat zij niet echt materieel zijn. Het gaat om zuiver digitale inhoud die blijkbaar onbeperkt kan worden gereproduceerd en waarbij het werk dat erachter zit meestal niet wordt gezien. Daarnaast zijn er veel softwareproducten die voor een brede markt zijn ontwikkeld - de zogenaamde standaardsoftware. De term suggereert dat het ontwikkelde product slechts voldoet aan een standaard of een bepaald minimum en daardoor niet de hoogste ontwikkelingsstand heeft. Maatsoftware moet duurder zijn, toch?
Standaardsoftware - een goedkoop product?
De overtuiging dat een op maat gemaakt product duurder is dan een in massa geproduceerd product is diep geworteld in het tijdperk van de industriële fabricage. Een lopende band product dat in grote hoeveelheden wordt geproduceerd, is vanzelfsprekend goedkoper dan een op maat gemaakt product; de materiaalkosten zijn lager vanwege de grote massa en de werkstappen zijn vereenvoudigd en gestandaardiseerd. Het eindproduct kan dan goedkoper op de markt worden gebracht.
Het idee dat een product af is, heeft zich op het gebied van standaardsoftware in de loop der jaren zelf achterhaald. Softwareprogramma's van allerlei aard waren vaak gebrekkig of onaf, en daarom werden 'patches' ('lapjes') gebruikt om de desbetreffende code te repareren. Met de professionalisering van softwarebedrijven en de invloed van marketingafdelingen worden termen als reworking en bug-fixing vermeden. Ook al zijn er nog steeds 'patchdays', tegenwoordig spreekt men eerder over een update, die suggereert dat de omgeving is veranderd en dat het product er alleen maar aan wordt aangepast, of de release, die meer de connotatie heeft van een volledig nieuw product.
Functionele software is nooit uitontwikkeld
Een blik in de geschiedenis van de software-ontwikkeling toont aan waarom het moeilijk is om software te vergelijken met andere soortgelijke producten. Binnen de industrie is men het er algemeen over eens dat functionerende software nooit volledig ontwikkeld is. Want om de functionaliteit te garanderen, moet het programma up-to-date blijven, met zijn tijd meegaan. Deze zogenaamde release-capaciteit is een centraal onderdeel van zogenaamde standaardsoftware en vereist veel tijd en deskundigheid op verschillende gebieden. De ontwikkelaars moeten ervoor zorgen dat de software de huidige ontwikkelingen weerspiegelt van de betreffende bedrijfstak waarin zij werkzaam zijn. Een WMS-leverancier moet zich dus afvragen: kan mijn systeem carrouselpicking aansturen? Hoe zit het met batch tracking? Automatische replenishment?
Tegelijkertijd moeten programmeurs een grondige kennis hebben van de huidige behoeften op het gebied van softwarebeveiliging. Veiligheidshiaten, die vaak ontstaan in de interactie met interfaceprogramma's, moeten tijdig worden onderkend en verholpen. Om ervoor te zorgen dat het systeem up-to-date is, moet het ook verder worden ontwikkeld, wat een complexe en consistente teststrategie vereist.
Voortdurende verdere ontwikkeling als kostenfactor
Duidelijk is dat zogenaamde standaardsoftware veel mankracht in beslag neemt, immers om aan al deze eisen te voldoen, zijn één of zelfs meerdere teams nodig die voortdurend aan het systeem werken. In principe geldt: hoe complexer de parametrisering van een software, des te groter de behoefte aan ontwikkelaars en des te duurder het product. De voorwaarden voor de ontwikkeling van standaardsoftware kunnen echter worden verbeterd. Bij CIM zijn we jaren geleden overgestapt op de agiele methode, met als doel projectonafhankelijke en betrouwbare softwareontwikkeling te bereiken. Dit betekent dat een standaardsysteem voortdurend verder wordt ontwikkeld.
Met de permanente verdere ontwikkeling van een standaardsysteem neemt men uiteindelijk afstand van het idee van op maat geproduceerde software. De problemen met dergelijke programma's zijn te talrijk: voor elke individualisering zijn speciaal geprogrammeerde updates nodig, de gestandaardiseerde tests zijn niet doeltreffend en dus kan nooit dezelfde stabiliteit en functionaliteit worden gegarandeerd als bij standaardsoftware. Maatwerk software wordt vaak verkocht als 'kant-en-klaar', maar een geïsoleerde oplossing is niet langer haalbaar in de huidige netwerkwereld. Uiteindelijk wanneer u uw maatwerk software na enkele jaren gebruik weer up-to-date wilt brengen, zult u zich afvragen: wie gaat dit programmeren?
Betrouwbaarheid bespaart kosten
Dus de conclusie luidt: nee, standaardsoftware is niet goedkoper dan op maat gemaakte software. De vereisten inzake stabiliteit en duurzaamheid van het systeem vergen een grotere ontwikkelingsinspanning. De actualiteit en stabiliteit van het systeem kunnen alleen worden gewaarborgd door permanente ondersteuning en verdere ontwikkeling. Tegelijkertijd is dit de grootste kracht van standaardsoftware: terwijl maatwerk software zich richt op de huidige situatie, beschikt standaardsoftware reeds over de instrumenten voor een toekomstige situatie. Het maakt een hoge mate van investeringszekerheid mogelijk, die alleen kan worden bereikt door ontwikkelingsstrategieën op lange termijn. Door te kiezen voor een betrouwbare en bekende leverancier als CIM, besparen gebruikers dus oncontroleerbare extra kosten, vroeg of laat. Dan kan, ondanks de aanvankelijk hogere kosten, op middellange termijn geld worden bespaard.