Alle berichten

Het belang van een Proof of Concept in software-ontwikkeling

Software-development is een vaak kostbaar proces dat nauwgezet uitgevoerd moet worden. Er kleven immers veel risico’s aan. Het is daarom van belang dat dit proces in goede banen wordt geleid.

De belangrijkste reden dat het zo lastig is, is omdat het product (de software) een abstract iets is. We kunnen pas zien wat de software echt doet, als het product ook klaar is. Hoe veel we ook opschrijven en discussiëren, pas wanneer het gereed is kunnen we echt een oordeel vellen over het gebruik. In veel gevallen is het daarom ook verstandig om gebruik te maken van een PoC (Proof of Concept) of prototype.

Dit is voorbeeld-software die als doel heeft om de essentie van de te ontwikkelen applicatie naar boven te halen. Hieronder beschrijf ik kort zes problemen die voorkomen kunnen worden door hier voldoende tijd aan te besteden.

  1. Betere prioritering

Het voordeel van een PoC is uiteraard dat je daarmee kunt ervaren hoe het werkt. Dit geeft eindgebruikers direct de mogelijkheid te bepalen wat goed werkt en wat niet. Zo kan duidelijk besloten worden welke functionaliteiten echt belangrijk zijn en welke niet. Vooraf is het vaak een gok. Door te kijken hoe het in de praktijk werkt, kan men achterhalen wat écht nuttig is.

  1. Technisch mankement

Vaak zijn goede ideeën zó te verzinnen en kan je met je bestaande IT-technieken snel iets opzetten. Op een gegeven moment loop je echter tegen een issue aan dat overkomen moet worden. In sommige gevallen zal dat issue te groot zijn om met de bestaande IT op te lossen. Alles heeft zijn voordelen, maar ook zijn nadelen.

Een PoC kan ervoor zorgen om duidelijk te maken of de bestaande IT een mogelijke beperking oplegt. Door dit snel inzichtelijk te maken, kan vooraf nog gekozen worden voor andere technieken. Zo voorkom je eerder dat je na enige tijd tegen een doodlopend einde of onoverkomelijk obstakel loopt.

  1. Creatief vermogen

Programmeren is puzzels oplossen. Het is in essentie een creatief proces. Daaromheen zit veel repetitief werk (bijvoorbeeld het maken van een inlogscherm, formulieren opstellen, API-connectie met database maken, enzovoorts). Dat is de zogenaamde ‘kookplaatcode’, ‘saaie’ code die je moet schrijven om je programma werkend te krijgen maar die geen creativiteit, probleemoplossend vermogen of abstract denken vereist. Het is een noodzakelijk iets, maar niet de essentie. Juist de essentie is die oplossing die het beste werkt.

Dit is vaak snel op te stellen, maar kan pas werken als ook de kookplaatcode gemaakt is. Door gebruik te maken van PoC’s waarin je minder aandacht besteed aan de kookplaatcode, kan je meerdere oplossingen naast elkaar zetten. Dit geeft dan de mogelijkheid om juist de beste keuze vooraf te maken.

  1. Kostenreductie

Software verzinnen is moeilijk, software nabouwen is makkelijk. Als je eenmaal een goed prototype hebt ontwikkeld, dan is het eenvoudig om een team erop te zetten dat dit na kan bouwen. Deze kostenreductie is vaak de meest belangrijke, maar het vereist wel afstemming tussen het team van de software-bouw en het team dat het prototype heeft ontwikkeld.

  1. Risicobeheersing

Risicobeheersing kan soms net zo lastig zijn als het zoeken naar een zwarte kat in een donkere kamer, zeker als deze er niet is. Het is een kwestie van in scenario’s denken, om vooraf te voorspellen wat fout kan gaan. Een PoC kan de belangrijkste risico’s sneller aan het licht brengen.

  1. Lessons learned

Vrijwel iedere developer zal aan het eind van het project aangeven dat met de kennis van nu, hij het anders aangepakt zou hebben. Vaak zijn er problemen en zaken die niet duidelijk of belangrijk waren aan het begin, maar die op het einde steeds voor ellende zorgden. Laat een programmeur twee keer dezelfde software bouwen en de tweede keer is het vaak tienmaal beter.

Tot slot

Het bouwen van goede software is een lastige opgave, maar wel één die ieder bedrijf liefst goed zou moeten kunnen volbrengen. Te vaak wordt onder tijdsdruk direct voor een eindoplossing gekozen, zonder goed te overzien wat dat betekent. Een Proof of Concept kan bijdragen in het snel inzichtelijk maken van de manier waarop software werkt. Zo kun je ervoor zorgen dat het uiteindelijke product beter past bij de wensen van de stakeholders.

Wouter Mertens

Innovatiemanager - AP Support

Nieuws

Gerelateerd nieuws

Lees meer >