Bij het ontwikkelen en beheren van systemen wordt steeds vaker de Agile/Scrum methodiek toegepast. De doelstelling hiervan is om vaker nieuwe of gewijzigde software beschikbaar te stellen voor de business. Daarvoor wordt gewerkt in scrumteams met korte cycli (deze worden “sprints” genoemd). Het is voor de scrumteams een belangrijke taak om de wijzigingen goed te testen. Ten opzichte van een klassieke waterval methode levert de Agile/Scrum methodiek veel sneller toegevoegde waarde aan de business. Dat is een groot voordeel. Overweegt u om agile aan de slag te gaan waarbij het testen een belangrijke rol gaat spelen? Maar weet u niet waar u allemaal aan moet denken? Geen probleem. Aan de hand van onze ervaringen en inzichten, hebben wij een drietal focuspunten samengesteld die van belang zijn om in het achterhoofd te houden bij het testen in een Agile omgeving. Er zal een serie van 3 blogs zijn waarin de drie focuspunten worden besproken. In deze blog: het belang van allround testers.
Schijn bedriegt...
Binnen een scrum team is testen erg belangrijk maar helaas staat het testen meestal onder grote druk. Uit ervaring blijkt dat het vaak voor komt dat aan het einde van de sprint nog veel getest moet worden. Daarbij wordt ervaren dat de nadruk ligt op het voldoen aan de geplande resultaten (commitment van het team). Vaak ligt het dan voor de hand om het testen op de vlakte te houden door bijvoorbeeld alleen de “happy flows” te testen. Op het moment dat die tests slagen, zal worden voldaan aan de “Definition of Done” en kan de sprint worden opgeleverd. Klant blij, team blij, iedereen blij.
Maar nee, zo zit de vork niet in de steel. Schijn bedriegt. Uit ervaring kunnen wij zeggen dat de meeste scrum teams deze manier van testen niet lang volhouden. Dit klinkt voor u wellicht bekend in de oren. Het gevolg is namelijk dat het team uiteindelijk zelf de dupe wordt van onvoldoende testen. Er volgen productie problemen die opgelost moeten worden. En zoals u misschien al kunt raden gaat hier een groot gedeelte van de tijd heen.
En dat is niet de bedoeling, want de main focus zou moeten liggen op het ontwikkelen van oplossingen waar de business op zit te wachten.
Dit is precies de reden waarom een gedegen testaanpak binnen het scrumteam een keiharde noodzaak is, onder leiding van een allround tester. Deze tester heeft veel kennis van en ervaring met testen, Agile werken, business processen en test tools.
Testers in het team
Uiteraard moet de allround tester zelf goed kunnen testen, maar nog belangrijker is het feit dat hij anderen binnen het team helpt met testen. De organisatie rondom het testen wordt vaak over het hoofd gezien binnen scrumteams. Er wordt weinig tijd besteed aan het voorbereiden en uitwerken van scripts. Het moet duidelijk zijn dat er binnen elke testsoort voldoende is getest. Regressietesten is typisch een test die wel belangrijk is, maar waar weinig aandacht voor is binnen een klein team. De ervaren tester kan dit opzetten en afstemmen met testers binnen andere teams.
Business Processen
Het uiteindelijke doel van het Agile werken is om toegevoegde waarde te leveren voor de business. En toegevoegde waarde betekent vrijwel altijd dat de business zijn werk beter kan doen: efficiënter en/of effectiever. Het is een groot voordeel als de tester de bedrijfsprocessen kent en een helikopterview heeft. Op deze manier heeft de tester het overzicht en kan de tester bijsturen waar nodig om er voor te zorgen dat alle tests goed op elkaar aansluiten. Dit zal uiteindelijk een beter resultaat geven. Ook ondersteunt een tester die de business processen goed kent de business beter bij het uitvoeren van de acceptatietesten.
Agile werken
Het testen binnen een Agile omgeving kun je niet vergelijken met het testen binnen de traditionele waterval methode. En dan hebben we het vooral over de fasering van het testen. Als er voor wordt gekozen om Agile te werk te gaan, wil dat zeggen dat er snel ingespeeld moet worden op wat er binnen het team of de omgeving gebeurt. Dit heeft ook invloed op het testen. Het testen volgt de dynamische omgeving op de voet, wat moet resulteren in grondig testen (al dan niet gedocumenteerd). Een taak voor de allround tester binnen het team om hier steeds weer aandacht voor te vragen.
Soft skills
Tot slot is het goed om te weten dat soft skills van groot belang zijn als we het hebben over de allround tester. Uiteraard is kennis en ervaring belangrijk, maar daarbij moet de tester goed kunnen communiceren en verantwoording kunnen afleggen naar de Product Owner en de business. Hij of zij moet steeds aandacht voor het testen blijven vragen, de teamleden helpen met het testen en het team motiveren. Soft skills in combinatie met een groot verantwoordelijkheidsgevoel is van belang, want als er productie issues naar voren komen wordt er al snel geconcludeerd: slecht getest. Uit onze ervaring blijkt dat het een slimme zet is om een allround tester binnen het team te hebben.
Goed testen binnen een scrum team kan niet zonder ondersteuning van tools. Zowel op het gebied van het managen van het testen als het automatiseren van de uitvoering. In de volgende blog “Eerste Hulp Bij testen in Agile omgeving: robuuste testautomatisering” zal hier dieper op worden ingegaan.
Dit is de eerste tip van de 3-reeks “Eerste Hulp bij testen in Agile omgeving”.
Klik hier om ons te volgen op LinkedIn en om op de hoogte te blijven van de andere twee tips omtrent testen in een Agile omgeving.