Het leven van een tester is nooit makkelijk geweest: eerst in watervalprojecten in de squeeze op het eind, via iedere sprint op tijd alles getest krijgen naar de uitdaging van het aanpassen aan DevOps. Wat is de impact voor onder andere de tester als DevOps geadopteerd wordt?
Realiseren van het juiste product Uit de beperkingen van het klassieke waterval ontwikkelen is het agile gedachtengoed voortgekomen. In tegenstelling tot de watervalmethode, kunnen we door een agile werkwijze te hanteren sneller reageren in een dynamische wereld en zijn we in staat om onze business op een adaptieve manier te ondersteunen. In andere woorden: we leveren business waarde. Door het slopen van muren tussen ontwikkelaars en de business is er een constante feedback loop gecreëerd. Dit zorgt ervoor dat een ontwikkelteam op ieder moment functionaliteit oplevert welke door de business gewenst is. We leveren snel functionaliteiten op die klanten écht nodig hebben, nu en in de toekomst. Fantastisch! Er wordt nu gebouwd wat de markt wil zien en niet pas wanneer de wens achterhaald is. Alleen nog live brengen… Waar veel organisaties zijn overgestapt naar een vorm van agile werken voor hun ontwikkelteams, worden zaken als beheersbaarheid en onderhoudbaarheid te weinig belicht binnen deze teams. Dit komt doordat het agile werken zich in de eerste plaats richt op software ontwikkeling en niet op het beheer ervan. Daarnaast speelt de waterval mindset, bewust of onbewust, een grote rol in veel organisaties. De gedachte dat software ontwikkeling en software beheer twee aparte domeinen zijn, heerst nog. Dit heeft tot gevolg dat business wensen snel worden omgezet in software die de juiste functionaliteit biedt, maar er geen rekening is gehouden met de implicaties voor beheer. Dit kan leiden tot frequente storingen en een instabiel IT landschap, terwijl de business hier juist steeds sterker afhankelijk van wordt. Dergelijke bedrijfsrisico’s vragen om een oplossing. Uit het gat tussen ontwikkeling (development) en beheer (operations) is een nieuwe werkmethodiek ontsprongen; DevOps. De toegevoegde waarde van DevOps DevOps is een manier van werken die de vroegere ’teams’, Development en Operations, dichter bij elkaar brengt en resulteert dat ze samen aan een product werken in hetzelfde team. We breken hiermee de laatste muren af. Het is een manier van denken die ervoor zorgt dat ontwikkelteams en beheerteams daadwerkelijk stilstaan bij het feit dat hun product in productie wordt genomen en wat voor gevolgen dit heeft. Is ons landschap wel robuust genoeg voor veel gebruikers? Hebben we al onze aanpalende systemen in kaart? Wat gebeurt er als één van die systemen in de keten uitvalt? Allerlei vragen waar je vroeger minder aan hoefde te denken, omdat jij niet degene was die er direct last van had als er een incident was op jouw product. In DevOps word je zelf eigenaar van het product, en dus ook van de eventuele incidenten. De feedback loops gaan sneller en de verwarringen nemen af. Waar je voorheen nog een checklist moest afvinken bij beheer, om te kijken of het product wel in productie mocht, kun je dit nu zelf doen. Je hebt bij het bouwen van je product al nagedacht waar het aan moet voldoen in beheer, waardoor je sneller kunt overgaan tot het leveren van je product aan de klant. Wanneer ben je klaar voor DevOps? Sneller leveren klinkt ieder bedrijf natuurlijk als muziek in de oren. Het juiste product maken en dit ook nog snel kunnen leveren tot aan de klant! De werkelijkheid is genuanceerder, want je moet er als organisatie wel klaar voor zijn. Zo is het belangrijk dat alle disciplines vertegenwoordigd zijn in het team. We noemen dit multidisciplinaire teams. Naast multidisciplinariteit is het belangrijk dat de professional T-shaped is. Een T-shaped professional kijkt niet alleen vanuit het eigen referentiekader naar de situatie, maar doet dit ook vanuit het referentiekader van andere disciplines. Dit zorgt voor een multidisciplinair team dat als team de verantwoordelijkheid neemt voor het ontwikkelen en beheren van software. Een andere belangrijke succesfactor is vaste teams. Teams worden effectiever naarmate ze langere tijd in dezelfde samenstelling werken. Ze leren elkaar, het product en de omgeving waarin het product zich bevindt steeds beter kennen. Wil je hierin mee? Zorg dat je niet op je ‘eigen eilandje’ aan het werk bent. Deze mindset moet binnen de hele organisatie heersen. De business moet de voordelen van DevOps inzien en in staat zijn om het DevOps team te ondersteunen en faciliteren. De overgang van het oude werken naar DevOps zal gepaard moeten gaan met vele trainingen en het zal ook zeker niet binnen een week soepel lopen. Het invullen van een nieuwe rol Laten we eens verder kijken naar de rol van de tester. Voor de andere rollen geldt hetzelfde, met enkel een ander focus gebied. Doordat we allemaal meer T-shaped moeten zijn zal je jouw testexpertise moeten overdragen.
- Coach de andere teamleden om zo vroeg mogelijk de software te testen en leer ze een aantal testtechnieken. Het gaat steeds meer om het voorkomen van bevindingen in plaats van het vinden van bevindingen.
- Om snel naar productie te kunnen is feedback op het product erg belangrijk. Help met het aanhaken van de business en neem ze mee in het testen van de software. Organiseer bijvoorbeeld Exploratory Test sessies en betrek naast de business ook de overige teamleden hierin.
- Help de beheer experts met monitoren en kijk hoe je deze kwaliteitscontrole kan toepassen in het ontwikkelproces. Gebruik de kennis van anderen om het gehele proces te verbeteren.
- Begeleid het team als er toch wat verkeerd gaat in productie met jouw analytische vaardigheden. Hoe kunnen we snel de oorzaak traceren en in het vervolg het risico mitigeren door het op te nemen in automatische testen.
Hoe pak jij het aan? DevOps is geen exacte wetenschap. Ieder bedrijf heeft weer andere uitdagingen om de teams volgens het DevOps principe te laten opereren. Het zal dus overal ook anders worden ingericht. Samenvattend is het raadzaam onderstaande handvatten te hanteren en jezelf, je teams en je organisatie te blijven verbeteren.
- het snel realiseren van een flow werk door de organisatie
- verkorten van feedback loops
- experimenteren, repeteren en toepassen
- automatiseren
- veranderen van de cultuur
- het samen doen en alle muurtjes afbouwen
Wil je reageren op dit artikel? Stuur een mail naar: agilecommunity@kza.onmicrosoft.com.