Succesvol met DevOps: 4 factoren die het verschil maken
DevOps gaat niet alleen over pipelines, automatisering en tooling. Je kunt technisch veel goed hebben ingericht en toch merken dat software niet sneller of beter bij gebruikers terechtkomt.
Teams moeten kunnen samenwerken, weten waar verbeteringen nodig zijn en werk zonder onnodige vertraging van idee naar productie krijgen. Techniek helpt om dat proces sneller en betrouwbaarder te maken.
Vier factoren spelen daarbij een belangrijke rol: cultuur, meten, proces en techniek. Juist de combinatie bepaalt hoe goed DevOps in de praktijk werkt.
1. Cultuur: samenwerken en verantwoordelijkheid delen
DevOps begint bij mensen. Development, operations en andere betrokken disciplines moeten niet ieder hun eigen deel optimaliseren, maar samen verantwoordelijk zijn voor het resultaat.
Dat vraagt om open communicatie en transparantie. Problemen moeten zichtbaar mogen worden en teams moeten voldoende ruimte krijgen om verbeteringen uit te proberen. Een fout is dan niet alleen iets dat opgelost moet worden, maar ook een kans om het proces te verbeteren.
Kijk daarom niet alleen naar de techniek als je DevOps wilt verbeteren. Stel ook vragen als:
-
Kunnen teams zelfstandig beslissingen nemen?
-
Wordt informatie tussen disciplines gemakkelijk gedeeld?
-
Is er ruimte om te experimenteren en van fouten te leren?
-
Sturen teams op het resultaat voor de gebruiker of vooral op het afronden van taken?
Een nieuwe tool verandert weinig wanneer dezelfde afdelingsgrenzen en werkwijzen blijven bestaan.
2. Meten: weet waar je daadwerkelijk verbetert
Verbeteren begint met inzicht. Alleen meten hoeveel werk een team verzet, vertelt daarbij niet genoeg.
Interessanter is wat er gebeurt vanaf het moment dat een wijziging wordt bedacht totdat deze bij de gebruiker terechtkomt. Hoe lang duurt dat? Waar ontstaan vertragingen? Hoe vaak ontstaan problemen na een release? En gebruiken klanten de functionaliteit die je hebt ontwikkeld eigenlijk wel?
Ook feedback van gebruikers hoort daarbij. Functionaliteit kan technisch perfect werken en toch nauwelijks waarde leveren.
Goede metingen helpen teams daarom vragen te beantwoorden als:
-
Hoe snel leveren we wijzigingen?
-
Waar loopt werk vast?
-
Hoe betrouwbaar zijn onze releases?
-
Hoe snel herstellen we als er iets misgaat?
-
Welke functionaliteit wordt daadwerkelijk gebruikt?
-
Leveren onze verbeteringen het gewenste resultaat op?
Meten is daarbij geen doel op zich. De informatie moet leiden tot een beslissing of verbetering. Anders verzamel je vooral meer data.
3. Proces: laat werk soepel van idee naar productie gaan
Een goed DevOps-proces maakt zichtbaar hoe werk door de organisatie stroomt.
Van klantvraag en backlog tot ontwikkeling, testen, release en uiteindelijk feedback uit productie. Wanneer dat proces zichtbaar is, zie je ook waar werk blijft liggen.
Dat is belangrijk, want de grootste vertraging zit lang niet altijd waar je die verwacht. Meer developers toevoegen heeft bijvoorbeeld weinig zin wanneer wijzigingen vervolgens dagen wachten op een testomgeving of goedkeuring.
Een paar principes helpen om de flow te verbeteren.
Maak werk klein
Grote wijzigingen kosten meer tijd om te ontwikkelen en zijn lastiger te testen en uit te rollen. Door werk op te delen in kleinere wijzigingen krijg je eerder feedback en beperk je de impact als iets niet goed gaat.
Beperk werk dat tegelijkertijd loopt
Veel werk starten betekent niet automatisch dat er veel werk klaar komt. Door Work in Progress te beperken, kunnen teams zich richten op het afronden van wat al loopt.
Maak knelpunten zichtbaar
Breng in kaart waar werk zich bevindt en hoe lang iedere stap duurt. Zo zie je bijvoorbeeld dat ontwikkeling snel verloopt, maar testen of goedkeuring voor vertraging zorgt.
Gebruik feedback als input
Feedback uit productie hoort terug te komen bij het team en op de backlog. Zo ontstaat een continue cyclus van bouwen, meten, leren en verbeteren.
Het doel is niet om iedere afzonderlijke stap zo snel mogelijk te maken. Het gaat erom dat de hele route van idee naar werkende software soepel verloopt.
4. Techniek: automatiseer wat niet iedere keer mensenwerk hoeft te zijn
Pas wanneer cultuur en proces aandacht krijgen, kan techniek echt gaan versnellen.
Handmatige stappen kosten tijd en vergroten de kans op verschillen en fouten. Daarom wil je zoveel mogelijk terugkerende werkzaamheden automatiseren.
Denk aan:
-
builds en deployments;
-
geautomatiseerde tests;
-
securitycontroles;
-
het opzetten en configureren van omgevingen;
-
versiebeheer van code, configuratie en infrastructuur;
-
monitoring en feedback vanuit productie.
Continuous integration helpt daarbij om wijzigingen snel te controleren. Bij een wijziging in de code kunnen automatisch builds, tests en andere controles worden uitgevoerd. Problemen komen daardoor eerder aan het licht.
Ook testautomatisering speelt een belangrijke rol. Daarbij gaat het niet alleen om zoveel mogelijk tests automatiseren. Tests moeten betrouwbaar zijn en gebruikmaken van goede testdata. Een test die regelmatig zonder duidelijke reden faalt, verliest al snel zijn waarde.
Security hoort eveneens in dit proces thuis. Niet pas vlak voor een release controleren of software veilig is, maar security meenemen in ontwerp, ontwikkeling, testen en deployment.
De precieze tooling is daarbij minder belangrijk dan het proces dat je ermee ondersteunt. Azure DevOps en GitHub bieden veel mogelijkheden voor automatisering, maar tooling alleen maakt een ontwikkelorganisatie nog niet beter.
De vier succesfactoren versterken elkaar
Cultuur, meten, proces en techniek kun je niet los van elkaar zien.
Een geautomatiseerde pipeline levert weinig op als een wijziging daarna lang op handmatige goedkeuring wacht. Veel meten heeft weinig zin wanneer teams niets met de uitkomsten doen. En teams meer verantwoordelijkheid geven werkt alleen als ze ook toegang hebben tot de informatie en middelen die nodig zijn om beslissingen te nemen.
Juist daarom is DevOps geen eenmalig implementatieproject.
Je kijkt voortdurend waar softwareontwikkeling wordt vertraagd, welke verbetering het meeste oplevert en wat een logische volgende stap is.
Waar zit bij jullie de grootste vertraging?
Niet iedere organisatie hoeft op alle vier de onderdelen tegelijk aan de slag. Misschien werkt de samenwerking goed, maar kost releasen nog veel handwerk. Of de techniek staat goed, maar feedback van gebruikers bereikt het ontwikkelteam nauwelijks.
De eerste stap is daarom inzicht krijgen in waar de grootste belemmering zit.
Delta-N helpt organisaties om hun softwareontwikkeling stap voor stap te verbeteren. Van samenwerking en ontwikkelproces tot Azure DevOps, GitHub, CI/CD, testautomatisering en de inzet van AI.
Wil je weten waar in jullie ontwikkelproces de meeste winst te behalen is? Neem contact met ons op.