Continuous Integration, Continuous Delivery: dé stap na agile

16 maart 2018 Consultancy.nl 4 min. leestijd

In de complexe en snelle hedendaagse markt zorgt agile voor flexibiliteit en wendbaarheid, waardoor sneller wordt ingespeeld op ontwikkelingen en onzekerheden. Werken op agile wijze heeft als doel om (digitale) producten met zoveel mogelijk waarde zo snel mogelijk naar de klant te brengen.

Veel organisaties ervaren echter nog bottlenecks in het opleverproces, waardoor deze ambities niet volledig worden waargemaakt. Continuous Integration, Continuous Delivery (CI/CD) wordt gezien als de volgende stap om het IT-ontwikkelproces te versnellen. Maar wat is CI/CD en hoe kan het worden geïmplementeerd? First Consulting begeleidt momenteel een CI/CD-implementatie bij een grote internationale bank en licht zijn visie toe.

Achtergrond

Veel organisaties hebben agile geadopteerd. Vaak wordt echter gemerkt dat agile het bouwen van software wel versnelt, maar de doorlooptijd van testen en releasen niet verandert. Om het gehele IT ontwikkelproces te optimaliseren, zijn veel organisaties daarom op zoek naar de volgende stap. CI/CD en DevOps zijn veel gehoorde opties, maar wat is het en wat kan het betekenen voor organisaties? 

Wat is CI/CD?

Continuous Integration stelt ontwikkelaars in staat om tegelijkertijd naadloos samen te werken aan dezelfde codebase. De veranderingen in software worden d.m.v. CI direct geïntegreerd en klaargezet om in het geheel getest te worden op verschillende testomgevingen.

Continuous Delivery focust op het geautomatiseerd overbrengen van software naar testomgevingen. Het ultieme doel van CD is om met één druk op de knop software naar productie te brengen. Doordat verschillende tests automatisch en direct na afronding van software-functionaliteiten worden uitgevoerd, wordt de ontwikkelaar direct van feedback voorzien.

CI/CD wordt gezien als het verlengde van agile en als enabler voor het creëren van DevOps-teams. Bij DevOps worden IT change en run (operations) geïntegreerd in een team. Gecombineerd met CI/CD liggen alle verantwoordelijkheden vanaf het plannen tot het beheer bij het team en kunnen wijzigingen middels een geautomatiseerd en robuust ontwikkelproces de klant veel sneller bereiken.
Proces DevOps teams

Aanpak

Ondanks dat steeds meer organisaties overtuigd zijn van de toegevoegde waarde van CI/CD, worstelen velen nog met hoe CI/CD geïmplementeerd kan worden. First Consulting heeft hier expertise in opgebouwd en dit toegepast in onder andere de financiële sector. De aanpak bestaat uit de volgende stappen.

Stap 1 : Maturity scan

Om de huidige situatie in kaart te brengen en om te onderzoeken of CI/CD een optie is binnen de organisatie, wordt als startpunt een CI/CD maturity scan uitgevoerd. Deze dient als basis voor eventuele vervolgstappen.

Stap 2: Sponsorship

Op basis van de CI/CD maturity scan worden samen met het management doelstellingen geformuleerd. Voor een succesvolle implementatie is het beschikbaar maken van capaciteit essentieel. Hiervoor zijn sponsorship en prioriteit voor CI/CD op managementniveau randvoorwaardelijk.

Stap 3: As is & to be situatie schetsen

Zodra doelstellingen zijn geformuleerd, is het essentieel om samen met de ontwikkelteams inzicht te verkrijgen in het huidige end-to-end ontwikkelproces. Een vervolgstap is het identificeren van bottlenecks. Zodra deze bottlenecks bekend zijn, wordt er bepaald welke processtappen geoptimaliseerd kunnen worden met behulp van CI/CD.

Stap 4: Proof of Concept

Zodra de to-be situatie is geschetst, kan een geautomatiseerde software-ontwikkelstraat worden ontworpen. In de figuur hieronder is een generiek voorbeeld te zien. Op basis van marktstandaarden wordt gekeken welke tooling het meest passend is om deze mee in te richten.

Proof of Concept

Stap 5: Implementatie

Gedurende het gehele traject is aandacht voor implementatie essentieel, zodat:

  • Men begrijpt waarom er iets gaat veranderen, wat dat voor hen betekent en hoe de nieuwe ontwikkelstraat in gebruik genomen dient te worden.
  • Het ontwikkelteam eigenaarschap neemt en het ontwikkelproces zelf blijft verbeteren.

Dit wordt bereikt door middel van training en coaching, communicatie en continue begeleiding op de werkvloer. Een pragmatische, blended learning-aanpak staat hierbij centraal. Een voorbeeld is de Daily Challenge: een vorm van micro-learning waarbij teamleden via een app dagelijks nieuwe uitdagingen krijgen rondom het nieuwe werkproces. Deze kleine opdrachten vergroten de adoptie en stimuleren het team om actief aan de slag te gaan.

CI-CD Daily Challenge Rewards

Resultaten

De resultaten na een succesvolle CI/CD implementatie zijn een toename van 400% in regressietests, dagelijks in plaats van tweewekelijks analyseren van defects, een snellere doorlooptijd, minder handmatig en foutgevoelig werk en directe feedback: ideale omstandigheden om echt te focussen op klantwaarde!

Bovenstaande case is een goed voorbeeld van een project dat First Consulting uitvoert waarin de thema’s Process, Change en Technology worden gecombineerd. First Consulting levert advies en projectmanagement rondom deze drie thema’s.