SoftwareCaptains

View Original

Kopen, bouwen of uitbesteden?

Goeiedag, ik ben Tom.

Je hebt iets gevonden. Een probleem dat je kan oplossen. Een opportuniteit die je niet kan laten gaan.

Je hebt iets nieuws gevonden dat je met software kan bouwen. Iets dat nog niet bestaat. Op je LinkedIn profiel voeg je alvast de skill "Digitale innovatie" toe.

Je hebt je idee duidelijk voor ogen. Je ziet al hoe je gebruikers enthousiast en moeiteloos je app of je website hanteren, en hoe ze ondertussen verheugd zijn omdat ze die software mógen gebruiken. Je weet hoe je gebruikers je app gaan aanbevelen aan hun collega's en, ja zelfs, hun concurrenten.

Maar wat nu? Hoe maak je van je idee werkelijkheid?

Dit is een vraag met vele aspecten. Vandaag wil ik me focussen op één van die aspecten: de software die je gaat gebruiken, bouw je die best zelf? Besteed je dat best uit? Of koop je misschien andere software aan?

Alles hangt af van wat je met je software wil bereiken. Laat ons vier situaties bekijken:

Kostenbesparing

Je wil met je software het bedrijf of de organisatie waarin je werkt, kosten laten besparen. Bijvoorbeeld iets dat iemand heel dikwijls moet doen, en die persoon wel wat tijd kost, wil je sneller laten vooruitgaan door dat te automatiseren. Je vindt het best OK dat niet alles afgedekt is, en dat er nog een stukje door een persoon moet gedaan worden, maar je kan die persoon wel meer werk laten verzetten.

Je zit duidelijk in een modus van kostenbesparing. In dit geval ben je meestal het beste af door op zoek te gaan naar een softwarepakket dat (een deel van) dit proces automatiseert. Een pakket zal nooit helemaal beantwoorden aan wat je voor ogen hebt, maar het is wel veruit de goedkoopste oplossing. Een stukje van je probleem ga je misschien oplossen door maatwerk, maar dat besteed je uit aan een extern agency. Je gaat zeker geen eigen IT team oprichten om deze software te ontwikkelen.

Investering

Met je software wil je een hoger doel bereiken. Je hebt iets voor ogen (bijvoorbeeld een nieuwe dienst die je kan leveren), en je hebt software nodig om dat te kunnen doen.

Je ziet de software als een investering. Wellicht bestaan er al pakketten die je helpen je doel te bereiken. Die koop je dan best aan. Doordat je je doel voor ogen hebt, is het voor jou gemakkelijk te omschrijven wat je precies nodig hebt. Je moet geen veronderstellingen maken of hypotheses testen. Daarom kan je ook de ontwikkeling uitbesteden aan een software agency, met duidelijk vooraf gemaakte afspraken over wat de software moet doen.

Business value creatie

Je software biedt een nieuwe, nog niet bestaande dienst aan je (bestaande) klanten. Je wil dat je klanten betalen voor het gebruik van je software, maar meestal is dit indirect. Klanten blijven bijvoorbeeld trouwer aan jou als leverancier, omdat de software waarmee ze bestellingen kunnen plaatsen zo gebruiksvriendelijk is.

Nu zie je software als creatie van waarde. Het is al veel minder vanzelfsprekend om dit als pakket aan te kopen (want dan kan je klant zelf dat pakket ook wel kopen). Ook het uitbesteden van de software ontwikkeling ligt al minder voor de hand. Je gaat immers wel wat moeten sleutelen aan die software voor die echt op punt staat. Ofwel werk je samen met een software agency dat al heel veel ervaring heeft met jouw sector - en dus echt met jou kan meedenken en het nodige sleutelwerk significant kan verminderen — ofwel bouw je een eigen softwareontwikkelingsteam, dat mee met jou kan experimenteren en tot de juiste oplossing kan komen.

Core business

Je klanten zijn enkel geïnteresseerd in je software. Zonder je software zou je geen enkele klant meer hebben. De software de reden van het bestaan van je organisatie. Dit betekent dat je voortdurend aan het zoeken bent naar manieren om je software nóg beter te maken. De ontwikkeling van je software stopt nooit.

Software is je core business. Hoeft het betoog dat geen enkel bedrijf haar core business uitbesteedt? Uitbesteden is trouwens geen optie - het is onmogelijk vooraf te bepalen wat je software precies moet doen. Als je software het belangrijkste is in je bedrijf, bouw je geen software team - nee, je bouwt je bedrijf rond je software team.

CIO OF CTO?

In de eerste twee gevallen (kostenbesparing en investering) ga je waarschijnlijk de hulp inroepen van een CIO, een Chief Information Officer. Een CIO zal een software architectuur bouwen op basis van bestaande software pakketten, en is heel goed in het selecteren van de juiste pakketten voor jouw specifieke situatie. Als ie software laat schrijven, laat ie dat schrijven voor jou. In de laatste twee gevallen (Business value creatie en Core business) ben je beter af met een CTO, een Chief Technology Officer. Een CTO bouwt een software team dat kan deliveren, en samen met jou software kan bouwen dat de meeste waarde opbrengt voor je onderneming. Een CTO staat op het kruispunt van Business, innovatie, en softwareontwikkeling.

(Photo by Markus Spiske on Unsplash)