Hoe doorontwikkelde software ons beschermt in een wereld vol spanningen

Blog  — do. 6 jun. 2024

We leven in een tijd van wereldwijde spanningen en samenlevingen die sterk afhankelijk zijn van technologie. Dat kan samen wrijving geven.

Een regelmatig ondergewaardeerd aspect van softwareontwikkeling is afronding. Vaak, als er maatwerksoftware wordt gemaakt, gebeurt dit via een methode die uit korte ontwikkelrondes bestaat. Zodra het doel functioneel behaald is, wordt er gestopt.

Softwareontwikkeling is echter goed te vergelijken met kunstschilders en uitvinders. Om tot een resultaat te komen, wordt eerst een ruwe schets gemaakt of een prototype. Concreet betekent dit dat er in de code bochten kunnen worden afgesneden of restanten kunnen achterblijven om de werking te testen. Doordat wensen en feedback nog invloed kunnen hebben, worden ook vaker opties in de code open gelaten die later niet nodig blijken te zijn.

Deze code wordt om financiële redenen echter doorgaans niet verder ontwikkeld. Er zal hooguit tijdens een klacht nog eens naar de oorzaak van een bug worden gezocht.

Het is voorstelbaar dat deze werkwijze aantrekkelijk is vanuit een commercieel oogpunt. Toch zit deze denkwijze in de weg op de volgende vlakken: veiligheid, onderhoud & updates en performance. In een wereld met spanningen komt vooral veiligheid steeds meer aan het licht, soms in wel heel gênante situaties. En later nog eens.

Het motto "voorkomen is beter dan genezen" is ook hier van toepassing. Inbraken, vernieling, datagijzeling en datalekken hebben grote consequenties voor de veiligheid van gebruikers, personeel en zelfs de continuïteit van de hele organisatie.

Een nieuwe denkwijze waarbij er acceptatie en ruimte is voor softwareontwikkelaars om code door te ontwikkelen, is daarom wenselijk en wijs. Het onderhouden van software is meer dan enkel het broodnodige uitvoeren. Het kan ook gaan om het verder optimaliseren, opschonen, verbeteren en veiliger maken van bestaande software.

Deze werkzaamheden kunnen lijken op investeringen die weinig of geen return on investment opleveren. Toch is het tegendeel waar. Doorontwikkelde code kan goedkoper, sneller en makkelijker onderhouden worden. Ook kan de veiligheid beter gegarandeerd worden, doordat efficiënte, korte code per definitie minder aanvalshoeken heeft en makkelijker te pentesten is. Dit kan in een nabije of verre toekomst juist veel kosten en gênante situaties voorkomen.