Richard Birksteiner, CTO

avatar

Sneller software verbeteren

met Continuous Integration/Continuous Delivery

banner

Sneller software verbeteren met Continuous Integration/Continuous Delivery

Klanten moeten steeds sneller in kunnen springen op veranderingen. Ontwikkelen in big bangs past daar niet (meer) bij. De moderne manier van applicatiedevelopment werkt met Continuous Integration/Continuous Delivery (CI/CD) pipelines. CI/CD biedt ons namelijk, evenals de keuze voor een cloud-native architectuur, de mogelijkheid om zoveel mogelijk waarde voor onze klanten te bieden, en dit ook zo snel mogelijk te doen. Sterker nog, zonder CI/CD is de keuze voor een cloud-native architectuur tamelijk zinloos. Beide keuzes dienen eenzelfde doel, maar dan op verschillende niveaus. Met de keuze voor cloud-native bepaal je waar je alles op bouwt en dus is met name voor ontwikkelaars van belang. CI/CD raakt de business een stuk meer. De voordurende verbeteringen van de software zijn merkbaar voor de mensen die ermee werken.

Software altijd in releasebare staat

Snelle veranderingen vereisen een hoge mate van automatisering, zowel qua ontwikkelen als bij het testen van veranderingen. Zo zijn onze pipelines gebaseerd op Git repositories (GitHub en GitLab). Als een developer iets naar Git pusht, gebeurt er ook meteen iets in onze pipeline, waardoor we zo goed mogelijk up-to-date blijven. Pull requests worden zoveel mogelijk geautomatiseerd getest. Er wordt geen code live gezet zonder dat er een goede review is gedaan, niet alleen geautomatiseerd, maar ook zeker door iemand bij rb2. Software moet altijd in releasebare staat zijn. De automatisering helpt hierbij. Zijn er kleine wijzigingen in de vorm van pull requests, dan voeren we die in minder dan een dag door en pushen die meteen richting de live omgeving. Dit helpt bij het in standhouden van een gezonde codebase voor de applicatie waar je aan werkt. De impact van dergelijke kleine wijzigingen kan daarnaast nooit enorm groot zijn, dus de klant merkt daar eigenlijk weinig tot niets van.

CI/CD is wel even wennen

Toch moet CI/CD ook bij klanten goed landen. En dat is niet vanzelfsprekend. Het vergt een andere manier van denken en hangt af van waar je CI/CD voor inzet. Voor een organisatie die al jaren met gated releases werkt, is de overstap naar CI/CD best groot. Er wordt continu aan je software gesleuteld, zonder dat je daar echt zicht op hebt. Het automatisch accepteren van kleine wijzigingen is voor een belangrijk deel een kwestie van vertrouwen. In onze ervaring helpt daarbij om vaak te releasen. Door te blijven leren bouw je samen dat vertrouwen op.

Kijk vooruit, niet achterom

Het zal nog wel een paar jaar duren voor iedereen met CI/CD uit de voeten kan. Maar degenen die de eerste stappen zetten kunnen wel hun concurrentievoordeel vergroten. Het is een kwestie van vooruitkijken.

Met CI/CD wordt vooruitkijken zelfs nog iets makkelijker. Want in plaats van de tamelijk vervelende roll-backs, wordt met CI/CD een roll-forward steeds makkelijker. Is er een fix nodig voor een feature, dan kun je die fix toepassen door naar de volgende versie te gaan. Niet door een stap terug te gaan om vervolgens te wachten tot er een fix is in de huidige versie. Zo kun je zelfs als iets niet goed gaat toch vooruit blijven kijken en denken.

Wil je meer weten over Richard?

Wil je na het lezen van deze blog of whitepaper aan de slag met het cloud-native binnen jouw organisatie? Of heb je vragen over de besproken onderwerpen? Neem dan contact op:

Richard Birksteiner
CTO
+31 (0)299 200 800

photo

Of check hieronder andere cases of blogs waar hij een prominente rol in heeft gehad: