Waar de term agile steeds meer regel dan uitzondering wordt in veel organisaties, wordt de rol van testers wel eens onderschat. Om wat meer inzicht te krijgen in de rol die een tester speelt in een agile omgeving neem ik je in deze blog mee in enkele voorbeelden uit de prakijk, waar de meerwaarde tot uitdrukking komt.
Als tester weet je door gebruik en ervaring vaak hoe een applicatie of functie van de software werkt. Met het werk van een tester help je niet alleen collega testers, maar ook collega ontwikkelaars. Een voorbeeld hiervan, als we kijken naar user stories.
User stories worden vaak gegeven en lijken op het eerste oog concreet en duidelijk. De ontwikkelaar heeft al een deel van de code in zijn hoofd zitten. Totdat een tester een vraag stelt over een belangrijke additionele requirement! ‘Oh ja, dat hoort er natuurlijk ook bij maar dat is toch logisch?’ wordt er dan geroepen. Maar eigenlijk heb je nog een extra user story te pakken. Daarmee help je ook je collega ontwikkelaar zijn schatting wellicht iets te verruimen. Testers stellen misschien soms wat veel vragen… Pff, vermoeiend! Maar misschien zijn ze wat gevoeliger voor structuur, details en willen ze graag de ‘missing dots’ boven tafel krijgen. Dat is gewoon een andere mindset, een meer agile mindset van een tester.
Er zijn meer wegen die naar Rome leiden. Wanneer je collega denkt dat er even iets getest moet worden in een workflow, kan het zijn dat hij maar één scenario in zijn hoofd heeft. Maar wie weet zijn er veel meer mogelijkheden, die niet altijd hetzelfde resultaat geven. Als tester maak je je team er ook van bewust dat er niet alleen happy flows zijn, maar dat er iets meer tijd moet worden genomen om te controleren of de functionaliteit werkt. Een kleine aanpassing in een script betekent niet automatisch een kleine test!
Als je sprints hebt die twee tot vier weken duren, heb je ook je eigen regie en moet je tussentijds je resultaten kunnen delen. In hoeverre verbetert het team de software opleveringen? Een ander voorbeeld van hoe een tester waarde kan toevoegen aan een agile team is bijvoorbeeld middels een dashboard inzage geven over het aantal defects dat zijn gevonden.
Over defects gesproken; als tester weet je na een tijdje wel op welke onderdelen defects vaker terugkomen dan gebruikelijk. Het is handige input tijdens je sprintplanning. Als het aankomt op story points verdelen kan jij op basis van jouw ervaring ervoor zorgen dat er beter wordt ingeschat. Het verschil tussen één story point en drie story points lijkt niet veel, maar als iedere story point een hele dag vertegenwoordigt heeft het wel degelijk flinke impact.
Waar twee ontwikkelaars in de code duiken om hun fix werkend te krijgen en ieder hun code controleren middels een unit test, kan de tester in het agile team de hele flow of hele user story nog een keer testen om er zeker van te zijn dat de aanpassingen van beide ontwikkelaars goed zijn.
Niet alleen de uitvoer en uitkomst van de test is belangrijk, ook het communiceren met het agile team is een belangrijk aspect dat vaak niet wordt gemeten in een dashboard of rapport. Je staat op en vraagt of een van de ontwikkelaars naar de foutmelding wilt kijken.
Ook als de geleverde functionaliteit niet voldoet aan de verwachtingen van de product owner en dus wellicht ook de stakeholders teleurgesteld kunnen worden, is de tester de aangewezen persoon deze zorg te delen in de dagelijkse stand-up of op een ander moment. Hoe eerder hoe beter. De social- en communicatieve skills worden meer en meer benadrukt en zijn steeds belangrijker wanneer het gaat om een agile tester.
Al met al enkele praktijkvoorbeelden waar de tester in een agile team zijn meerwaarde kan bieden. Zowel bij de input van de user stories en requirements, als bij de output van de (software) oplevering. Ik ben benieuwd hoe jij het ziet; is een tester een waardevolle toevoeging? Laat het me weten in de comments.