De oplevering voelt als een eindpunt. Het project is af, de software draait, het team werkt ermee. Maar voor de software zelf is het eerder een begin. Als het goed is, gebruik je hem jaren. En in die jaren verandert de wereld eromheen voortdurend.
Dat is geen verkoopverhaal, het is hoe software werkt. Hier lees je wat er na de oplevering gebeurt, waarom het nodig is en wat het betekent als je het overslaat.
Software veroudert, ook als je er niets aan verandert
Een auto die in de garage staat, slijt nauwelijks. Software die niemand aanraakt, veroudert wel. Dat komt doordat maatwerksoftware altijd op andere software draait:
- een programmeertaal, bij ons meestal PHP;
- een framework, zoals Laravel, dat de basis levert voor inloggen, formulieren, de database en beveiliging;
- tientallen pakketten van anderen, voor bijvoorbeeld het maken van pdf's of het versturen van mail;
- een server met een besturingssysteem, een webserver en een database.
Al die onderdelen krijgen updates. Vaak om fouten op te lossen, regelmatig om beveiligingslekken te dichten. En elk onderdeel heeft een einddatum. PHP publiceert per versie hoe lang die nog actief en met beveiligingsupdates wordt ondersteund. Laravel doet hetzelfde in zijn releasebeleid: elk jaar een nieuwe hoofdversie, met een vaste periode van bugfixes en beveiligingsupdates.
Na die einddatum werkt je software nog gewoon. Maar wordt er een lek gevonden, dan komt er geen reparatie meer.
Wat onderhoud inhoudt
Goed onderhoud bestaat uit een paar vaste onderdelen.
Beveiligingsupdates
Wordt er een lek gevonden in PHP, Laravel of een gebruikt pakket, dan komt er meestal snel een update. Die moet worden geïnstalleerd, getest en uitgerold. Bij een ernstig lek liefst binnen dagen, niet binnen maanden. Het NCSC publiceert beveiligingsadviezen en benadrukt al jaren dat tijdig bijwerken een van de belangrijkste maatregelen is.
Versie-upgrades
Naast de kleine updates zijn er de grote stappen: een nieuwe versie van PHP of Laravel. Die vragen meer werk, omdat er soms dingen anders werken. Het slimste is om elke versie mee te nemen in plaats van er een paar over te slaan. Een stap per jaar is overzichtelijk. Drie stappen tegelijk na een paar jaar stilstand is een project.
Monitoring
Draait de software nog? Worden pagina's snel genoeg geladen? Lopen er fouten op, en bij welke gebruikers? Monitoring meet dat continu en waarschuwt als er iets afwijkt. Het doel is simpel: wij zien een probleem eerder dan jij, en jij eerder dan je klant.
Bij software met koppelingen is dat extra belangrijk. Een koppeling die stilletjes stopt, merk je pas als er orders ontbreken. Daarover schreven we meer in systemen koppelen, uitgelegd zonder jargon.
Back-ups die werken
Een back-up maken is makkelijk. Een back-up terugzetten als het erop aankomt, is waar het om gaat. Goed onderhoud betekent dagelijkse back-ups op een aparte locatie, en regelmatig testen of terugzetten ook echt lukt. Een back-up die je nooit hebt geprobeerd, is een hoop, geen zekerheid.
Hosting binnen de EU
Waar je software draait, maakt uit. Bevat hij persoonsgegevens, dan geldt de AVG, en doorgifte naar landen buiten de EU brengt extra eisen met zich mee. Hosting in een Europees datacenter, bij een partij die onder Europees recht valt, houdt het overzichtelijk.
Een vast aanspreekpunt
Als er iets is, wil je iemand spreken die je systeem kent. Niet een ticketnummer in een wachtrij, maar een persoon die weet waarom die ene uitzondering in de planning zit. Dat scheelt uitleg, en daarmee tijd.
Wat onderhoud niet is
Onderhoud houdt je software veilig, actueel en in de lucht. Het voegt meestal geen nieuwe functies toe. Een nieuw scherm, een extra koppeling of een rapport dat je mist, spreek je apart af. Het helpt om dat onderscheid vooraf helder te hebben, zodat er geen verkeerde verwachtingen ontstaan.
Wel maakt goed onderhoud nieuwe functies goedkoper. Software die op een actuele versie draait, is makkelijker uit te breiden dan software die eerst een inhaalslag nodig heeft.
Wat het kost, en wat het kost om het niet te doen
De kosten van onderhoud hangen af van hoe groot en hoe kritisch je software is. Een intern systeem dat een paar mensen gebruiken, vraagt minder dan een klantportaal waar honderden klanten op inloggen. Reactietijden, onderhoudsvensters en beschikbaarheid leg je vast in een afspraak die past bij wat je systeem voor je bedrijf betekent. Als vuistregel is onderhoud per jaar een bescheiden deel van wat de bouw heeft gekost.
Daartegenover staan de kosten van niets doen:
- De inhaalslag. Na een paar jaar zonder updates moet je meerdere versies overbruggen. Dat is meer werk dan de jaarlijkse stappen bij elkaar, en het risico op problemen is groter.
- Een beveiligingsincident. Een lek in verouderde software kan leiden tot een datalek, met alle gevolgen van dien: herstelwerk, een melding bij de Autoriteit Persoonsgegevens en schade aan het vertrouwen van je klanten.
- Stilstand. Een server die vol loopt of een certificaat dat verloopt, legt je werk stil. Met monitoring had je het zien aankomen.
- Een systeem dat niemand durft aan te raken. Hoe langer software niet is bijgewerkt, hoe groter de drempel om er iets aan te veranderen. Uiteindelijk wordt opnieuw bouwen goedkoper dan bijwerken, en dat is de duurste uitkomst van allemaal.
Goed onderhouden software kan lang mee. MijnBewijsstukken is bijvoorbeeld al sinds 2016 in gebruik op scholen. Dat lukt alleen als je software blijft meegroeien met de techniek eronder.
Waar je op let bij een onderhoudsafspraak
Heb je al maatwerksoftware, of laat je die bouwen? Vraag dan door op deze punten:
- Hoe snel worden beveiligingsupdates geïnstalleerd, en wie houdt dat bij?
- Hoe worden versie-upgrades gepland en getest?
- Wat wordt er gemonitord, en wie krijgt een melding als het misgaat?
- Hoe vaak worden back-ups gemaakt, waar staan ze en wanneer is terugzetten voor het laatst getest?
- Waar wordt de software gehost, en onder welk recht?
- Wie bel je als er iets is, en hoe snel krijg je reactie?
Krijg je op een van die vragen geen helder antwoord, dan weet je waar je aandacht nodig hebt.
Hoe wij het doen
Wij hosten wat we bouwen in Europese datacenters, houden het dag en nacht in de gaten en werken het gepland bij. Je hebt een vast aanspreekpunt dat je systeem kent. Lees meer over hosting en beheer, of plan een gesprek als je wilt weten hoe het er met jouw software voor staat.