GEZAMENLIJK OPPAKKEN

 Sinds vijf jaar werkt Rob van Dijk, Testconsultant bij Salves, voor de Rabobank, voor het programma Betalen & Sparen. “Het laatste jaar hebben we de overgang gemaakt naar agile en sinds een maand of zes zijn we bezig met een overgang naar DevOps. Dit komt erop neer dat Development & Operations opgaan in hetzelfde team en alle taken gezamenlijk oppakken onder het mom van ‘You built it, you run it’.

Ik zie dit vooral als een mooie kans. De muur tussen Dev & Ops wordt afgebroken en botsende belangen veranderen in een gezamenlijk teambelang. Bijkomend voordeel is dat je als individu gemakkelijker een leidende rol kunt nemen: was je voorheen lid van een ontwikkelteam, nu kun je ook gaan uitvoeren.”

VERANDERING VS. STABILITEIT

bereiken-we-de-agile-utopie

Waar Dev voornamelijk als doel heeft om wijzigingen door te voeren en nieuwe functionaliteiten te creëren, is het doel van Ops juist om voor stabiliteit te zorgen met zo weinig mogelijk verstoringen in productie.

Voeg beide teams samen en het gezamenlijke doel wordt de eindverantwoordelijkheid voor het product en de functionaliteit.
DevOps-teams moeten in staat zijn om zelfstandig de software te ontwerpen, bouwen, testen, deployen en beheren.

Er is geen vast scenario om DevOps te implementeren, maar er zijn wel belangrijke zaken die in ieder geval in gang moeten worden gezet:

VAN DEV NAAR OPS

Voor een transformatie van Dev naar Ops is het volgende nodig:

Regel de praktische zaken: geef developers de juiste autorisaties (toegang tot productie);
Het beheerteam moet zich de beheertools eigen maken en kennis nemen van de diverse problemen die kunnen spelen in productie (en hoe hiermee wordt omgegaan).
Dit heeft de volgende voordelen:

  • Door een beter begrip van wat er komt kijken bij het beheer van een omgeving, zal Dev bij nieuwe changes meer rekening houden met de impact op beheerbaarheid.
  • Incidenten in productie kunnen door DevOps-teams gemakkelijker worden geanalyseerd en opgelost doordat kennis van de software vanuit diverse perspectieven samenkomt.
  • Voor developers wordt inzichtelijk waarvoor zij nu eigenlijk werken, en dit is doorgaans enthousiasmerend.
  • Problemen die zich op productie voordoen worden duidelijker voor developers omdat zij zelf als beheerder met deze problemen te maken krijgen. 

VAN OPS NAAR DEV

Wanneer het operationsteam deel gaat uitmaken van het developmentproces, gaan beheerders meedenken over nieuwe oplossingen en changes, kunnen ze testen uitvoeren en de kwaliteit van code bewaken nog voordat deze in productie staat.

Dit heeft de volgende voordelen:

  • Omdat Ops-medewerkers vanaf het begin bij bugfixes en changes worden betrokken, kunnen zij eerder aan de bel trekken over gevolgen voor de beheerbaarheid van het systeem.
  • Ops-medewerkers zullen minder het gevoel krijgen dat er iets ‘over de muur’ wordt geworpen. Ook zullen ze enthousiaster zijn over aankomende changes aangezien zij zelf betrokken zijn bij de ontwikkeling.

De invulling van deze acties is voor iedere organisatie anders. De snelheid en de manier waarop hangen af van de cultuur van de organisatie, de huidige invulling van Dev & Ops en van in hoeverre het management achter de veranderingen staat.

EEN GOED BEGIN…

Wil je een gemakkelijke start maken met DevOps, dan kunnen developers en beheerders eerst in dezelfde ruimte gaan werken. Daarna kun je de diverse taken van Dev en Ops in kaart brengen en kijken welke activiteiten als eerste overgedragen kunnen worden.

Belangrijk om rekening mee te houden is dat DevOps vaak wordt geïntroduceerd terwijl er al agile wordt gewerkt. Dit betekent dat Dev vaak al ‘om’ is, terwijl Ops dit voornamelijk nog vanaf de zijlijn heeft gadegeslagen. De transitie is dan ook vaak groter voor Ops.

WAT BETEKENT DIT VOOR EEN TESTER?

Van huis uit is een tester gefocust op de kwaliteit van de software en hoe deze zo goed mogelijk volgens de specificaties en de wens van de klant kan worden gerealiseerd. Daarvoor heeft hij kennis van testspecificatietechnieken, testtools en weet hij hoe het proces rondom bevindingen in elkaar zit.

Natuurlijk moet een tester in een DevOps-omgeving de overige (nieuwe) teamleden begeleiden op het gebied van testen (coaching, opleiden). De tester zelf zal in een DevOps-omgeving op zijn beurt bij de technische beheertaken moeten helpen. Dit zijn bijvoorbeeld:

  • het deployen van releases in test, acceptatie en productie;
  • dagelijks beheer van de productieomgeving (incidentmanagement);
  • performancemonitoring;
  • het uitlezen van technische logging;
  • begrip van databases en opvragen van data met behulp van query’s.

DevOps is voor testers dus een uitstekende kans om meer te leren over de ‘black box’ die beheer heet!

Rob van Dijk, Testconsultant bij Salves