Continuous delivery, een methode die organisaties in staat stelt snel en geautomatiseerd innovaties te leveren aan de klant, groeit uit tot de norm bij het ontwikkelen of updaten van producten. Het wordt al jarenlang gebruikt voor de updates die vaak automatisch worden uitgevoerd op je telefoon. De toepassing gaat de laatste jaren veel verder en levert bedrijven veel voordelen op. Wat zijn deze voordelen en hoe is deze de software-ontwikkelmethode te implementeren in je organisatie?
Een belangrijk voordeel van continuous delivery is dat je doorlopend en soms zelfs meerdere keren per dag waarde aan de klant kan leveren. Je kunt immers de software waar je aan bouwt en test vrijwel direct uitleveren aan de gebruiker. Op deze manier krijg je constant feedback van de klant, waardoor je kan blijven voldoen aan de veranderende klantbehoeften. Dit werkt een snelle time-to-market en een verhoogde efficiëntie in de hand.
Doordat handmatig testen en installeren verleden tijd is, krijgen developers meer tijd om zich te concentreren op de ontwikkeling van nieuwe functies en zich allround te ontwikkelen. Zo krijgen teams meer autonomie, omdat zij zelfstandig code kunnen compileren, testen en installeren.
Tot slot helpt het werken met continuous delivery ook om nieuw talent aan te trekken. De innovatieve manier van softwareontwikkeling is immers aantrekkelijk voor developers, die graag werken in een omgeving die een hoog niveau van professionaliteit en kwaliteit nastreeft.
Handvaten voor de implementatie
De voordelen zijn dus duidelijk en continuous delivery is dan ook een route die veel organisaties inslaan. Maar de weg hiernaartoe vraagt wel om een strategische aanpak. Om die te navigeren hieronder drie handvaten voor de implementatie:
- Onderzoek de capaciteiten van jouw organisatie om continuous delivery te kunnen implementeren. Je moet hiervoor namelijk met specifieke frameworks in de cloud werken. Cloudproviders zoals Microsoft Azure en Google Cloud bieden een breed scala aan services die zijn in te zetten om continuous delivery in de cloud te implementeren. Zo kan GitHub gebruikt worden om code op te slaan en te beheren, Azure DevOps om de installatie van code in verschillende omgevingen te automatiseren en Kubernetes om applicaties te migreren.
- Adequate kennis is noodzakelijk om de juiste omgeving te creëren. Het kan dus nodig zijn om developers te trainen of nieuwe developers aan te nemen. Het gaat echter niet alleen om kennis van de technische kant, maar ook om vaardigheden voor het uitvragen van klantfeedback. Het in de arm nemen van ux-designers is hierbij essentieel.
- Stel jouw klanten op de hoogte van de veranderingen. Zij zullen dagelijks te maken krijgen met releases in plaats van bijvoorbeeld maandelijks. Je zult dit dus moeten uitleggen en hen op de voordelen moeten wijzen.
Tot slot is het te allen tijde belangrijk om kritisch te kijken naar de processen in je organisatie. Zijn er herstelprocessen en hoe worden security- en privacy-incidenten afgehandeld? Maak gebruik van best practices en ontwikkel een werkwijze die alle teams kunnen gebruiken.
Hoog in het vaandel
Continuous delivery is een proces waarbij continu verbeteren en leren hoog in het vaandel staan. Het is daarbij belangrijk om te blijven leren van fouten en processen voortdurend te verbeteren. Ontwikkelingen dragen bij aan het vermogen van organisaties om wendbaarder te worden en beter in te spelen op de veranderende behoeften en verwachtingen van klanten. En dat is precies waar continuous delivery om draait.
(Auteur Mario López Garcia is service owner bij Visma/Raet.)