Kennis Blog Pluk de vruchten van een goed ontwikkelproces met DORA-Metrieken: Deployment Frequency

Pluk de vruchten van een goed ontwikkelproces met DORA-Metrieken: Deployment Frequency


DORA-metrieken zijn ontwikkeld door het DevOps Research and Assessment (DORA) team van Google, dat jarenlang onderzoek heeft gedaan naar de prestaties van de best presterende DevOps-teams. Op basis van dit onderzoek hebben ze vier metrieken opgesteld waarmee je de prestaties van een DevOps-team kunt beoordelen. In deze reeks lichten we steeds een van de metrieken nader toe. In dit artikel gaan we dieper in op Deployment Frequency, oftewel de frequentie waarmee nieuwe versies van een applicatie worden gedeployed.

Deployment Frequency is een van de vier kernmetrieken van DORA. De naam zegt het eigenlijk al: het gaat over hoe vaak je applicatie wordt gedeployed. Hoewel het eenvoudig te meten is, geeft deze metriek waardevol inzicht in je ontwikkelproces.

 

Het belang van Deployment Frequency

In een ICT-bedrijf kun je code vergelijken met voorraad in een fruitwinkel. Zolang de code op de plank ligt en niet wordt gedeployed, levert het geen waarde op. Pas als de code live staat, kunnen klanten er gebruik van maken en draagt het bij aan je business.

Een fruitwinkel moet continu verse producten verkopen om ruimte te maken voor nieuwe voorraad. Als fruit te lang in het magazijn blijft liggen, bederft het en levert het geen geld meer op. Sterker nog, het kost geld omdat het niet alleen in de weg ligt van nieuw fruit, maar ook opgeruimd moet worden. in Zo werkt het ook met software: hoe langer nieuwe code blijft liggen zonder te worden gedeployed, hoe groter het risico dat deze verouderd raakt, niet meer relevant is of dat integraties lastiger worden.

Door je deploymentproces te versnellen, zorg je ervoor dat je sneller waarde creëert, efficiënter werkt en je bedrijf flexibeler en succesvoller opereert. Net zoals een fruitwinkel die dagelijks nieuwe verse producten in de schappen legt, profiteert een IT-team van frequente, kleine releases. En het verschil tussen teams is daarbij opmerkelijk: uit onderzoek van DORA blijkt dat high performers tot wel 973 keer vaker deployen dan low performers.

 

Is dat niet risicovol?

Ja en nee. Op het eerste gezicht lijkt het misschien alsof vaker naar productie deployen de kans op fouten vergroot. Maar als je het van een afstand bekijkt, zie je dat dit niet zo is.

Wanneer je kleine wijzigingen vaker uitrolt, blijven ze binnen een beperkte scope. Daardoor is het eenvoudiger om een probleem te isoleren en te achterhalen waar het misgaat als er iets fout loopt. Dit is vergelijkbaar met een vak in de supermarkt bijvullen met een paar appels per keer in plaats van in één keer een enorme lading. Als er een rotte appel tussen zit, kun je die snel verwijderen zonder de hele voorraad te hoeven inspecteren.

Bij sporadische deployments, waarbij veel wijzigingen in één keer live gaan, is het juist lastig om te achterhalen wat precies de oorzaak is als er iets misgaat. Door regelmatig kleine updates door te voeren, verklein je dus eigenlijk het risico in plaats van het te vergroten.

Hoe doe je dat dan?


Automatiseer je deploymentproces

Handmatige deployments zijn foutgevoelig en tijdrovend. Door het proces te automatiseren met tools zoals GitLab CI/CD bespaar je tijd en minimaliseer je fouten. Dit is alsof je in plaats van zelf de vakken vult een efficiënte sorteermachine hebt die de appels netjes op hun plek legt.

Kleine en frequente wijzigingen

De sleutel tot succesvolle deployments is het minimaliseren van de scope per release. Kleine wijzigingen zijn sneller te testen en eenvoudiger terug te draaien als er iets misgaat. Net zoals een fruitwinkel beter dagelijks een kleine voorraad kan verversen in plaats van wekelijks een enorme hoeveelheid, zorgt een continue stroom van kleine updates voor een stabieler en flexibeler softwareproces.

Automatic testing

Automatische tests (unit, integratie en end-to-end) helpen om bugs vroegtijdig op te sporen en verminderen de noodzaak voor handmatige regressietests. Hoe betrouwbaarder je testset, hoe sneller je met vertrouwen kunt deployen en hoe groter de kans dat je de rotte appel verwijdert voordat deze in het schap belandt.

Observability en monitoring

Door goede logging, monitoring en alerting in te richten (bijvoorbeeld met tools als Apache DevLake), kun je direct zien of een deployment problemen veroorzaakt en snel ingrijpen als dat nodig is. Dit werkt als een kwaliteitscontrole in de fruitwinkel: zodra een rotte appel wordt gespot, kun je die direct weghalen voordat hij de rest aantast.

Door deze principes toe te passen, kun je een gezond, soepel lopend softwareproces opzetten—net zoals een goed beheerde fruitwinkel altijd verse producten in de schappen heeft staan.


Download whitepaper DORA-Metrieken


Door deze principes toe te passen ben je al een heel eind op weg naar het verbeteren van je deployment frequency en misschien wel naar een succesvolle fruitwinkel, maar wil je nog meer weten neem dan contact op met team GitLab expert services of download de whitepaper.