Continuous Delivery is een onderwerp met veel aandacht. Een hype, Agile in een nieuw jasje, wat hebben we er aan? Nog veel meer vragen kwamen er op het whiteboard tijdens de kennisdeling avond over dit onderwerp. Vragen waar antwoorden op zijn verkregen maar die ook weer nieuwe vragen opleverden. Kortom, een onderwerp waar nog veel over te verkennen valt, dat is wel de uitkomst van de kennisavond.
De afgelopen maanden is er veel informatie verzameld over Continuous Delivery door enkele collega’s die graag hun ervaringen wilden delen met andere collega’s van Qquest. De informatie is verzameld door een zoektocht op het wereldwijde web, door gesprekken te voeren met personen die ervaring hebben met Continuous Delivery, door het lezen van enkele boeken en door er zelf actief mee bezig te zijn.
Bij veel organisaties is het installeren van bijgewerkte software of een nieuwe release van een product een activiteit die veel tijd kost, voorafgaat met zorgvuldige voorbereiding en veel onnodige stress met zich mee brengt. Als resultaat dat er vaak nog fouten aan het licht komen zodra de software in productie is en wordt gebruikt door klanten.
Continuous Delivery is een methodiek om ideeën en wijzigingen zo snel mogelijk en kwalitatief goed naar productie te krijgen. Verwachtingen/uitkomsten kunnen snel gevalideerd worden bij de business waardoor op een kort-cyclische wijze een product vorm gegeven kan worden. In onderstaand overzicht hebben we weergegeven waar Continuous Delivery zich bevindt ten opzichte van andere methodieken die vaak in één adem genoemd worden met Continuous Delivery.
Het wordt steeds meer gebruikt bij software-ontwikkeling vanwege de behoefte bij de business aan:
Het invoeren van Continuous Delivery vraagt inspanning op technisch en organisatorisch vlak. De organisatie moet in staat zijn om op een dusdanige manier te werken dat de kort-cyclische en continue werkwijze bijgehouden kan worden. Vandaar dat Continuous Delivery vaak genoemd wordt in relatie tot Agile teams, invoering van Agile en opzetten van een DevOps werkwijze.
Technisch gezien dient er een softwareontwikkelproces ondersteund te worden die herhaalbaar en betrouwbaar uit is te voeren, automatisch natuurlijk. Zodat elke wijziging zonder veel moeite en impact op de bestaande software doorgevoerd kan worden. Dit wordt de continuous delivery pipeline genoemd. Een continuous delivery pipeline is een geautomatiseerde implementatie van het proces van build, deploy, test, en release van een applicatie. Deze pipeline wordt samengesteld uit verschillende tools. De combinatie van die tools noemen we de pipeline, die zelf ook weer georganiseerd en beheerd wordt in een tool.
Er is veel informatie te vinden op het internet. Ook enkele boeken zijn het aanraden waard om te lezen. De volgende literatuur hebben wij geraadpleegd: