De herontdekking van de testmanager in een Scrumtraject
De manier van softwareontwikkeling is met de opkomst van Scrum en andere soortgelijke Agile aanpakken de laatste jaren fors veranderd. Scrum werkt met kleine, stabiele teams die zelfsturend zijn en zelf verantwoordelijk voor het resultaat. Een Scrum team bestaat uit maximaal 9 personen waarbij het aantal rollen beperkt is. In een Scrum team worden slechts drie rollen onderkent, namelijk: de product owner, de Scrum master en het development team. Scrum kent dus geen testmanager rol. Is de rol van de testmanager hiermee uitgespeeld en gaat deze rol (in de nabije toekomst) verdwijnen?
Idealiter en volgens de theorie organiseren Scrum teams alles zelf. De praktijk blijkt echter anders te werken. Organisaties zijn van oudsher niet georganiseerd op een manier die volledig bij Scrum aansluit. In de praktijk zie je dan bijvoorbeeld dat de ontwikkeling wel volgens de ideeën van Scrum uitgevoerd wordt, maar dat daaromheen zich nog een hele wereld bevindt. In deze ‘wereld’ ligt de rol van de testmanager.
Aansturing testers over Scrum teams heen
Vaak zijn er binnen een organisatie(onderdeel) meerdere Scrum teams tegelijk actief. De testmanager controleert of er op dezelfde wijze getest wordt en dat er voldoende en goed wordt getest. Dit door duidelijke kaders te stellen, bijvoorbeeld door de resultaten/output te benoemen, te borgen dat niet alle junioren in 1 Scrum team terecht komen en grenzen aan te geven waarbinnen de testers van het Scrum team moeten blijven. Het team is dan wel zelfstandig en verantwoordelijk voor hun eigen werk, maar er ontstaat wel een uniforme werkwijze.
De testmanager kan ook de verantwoordelijkheid dragen voor de bevordering van de kennisdeling tussen de teams. Dit doet hij door de testers van de verschillende teams aan te moedigen met elkaar over belangrijke thema’s (regressietests, testautomatisering, TDD, etc.) van gedachten te wisselen. Idealiter pakken de testers uit de teams dit zelfstandig op, maar de testmanager kan dit bespoedigen door het proces te faciliteren waardoor het ‘elkaar vinden’ en uitwisselen van kennis makkelijker verloopt.
Door de juiste kaders te stellen, een passende sfeer en cultuur te creëren en faciliterend te werk te gaan zullen testers binnen de teams steeds beter gaan functioneren en zichzelf verbeteren. Dit proces moet de testmanager aanmoedigen. De aansturing door de testmanager heeft als doel de testers zo goed als mogelijk te laten functioneren. Hierbij dient hij of zij er wel voor te zorgen dat obstakels (impediments) die het proces in de weg staan, opgelost worden. Dit bevordert de algehele kwaliteit.
Zonder ruimte voor zelforganisatie is de motivatie, creativiteit, het leervermogen, de zelfstandigheid en het verantwoordelijkheidsgevoel van medewerkers vaak ver te zoeken. Daarom is het belangrijk voor de testmanager om een gezonde balans tussen sturing (over de teams op hoofdlijnen) en zelforganisatie (de Scrum teams) te vinden. De combinatie van sturing en zelforganisatie bepaalt uiteindelijk het succes van de organisatie als geheel. Zonder sturing ontaarden zelfs de beste intenties in chaos en is het maar afwachten welke resultaten de organisatie als geheel bereikt.
Een belangrijk aandachtspunt is de uitgangspunten van Scrum geen geweld aan te doen, maar juist door de correcte sturing op organisatieniveau deze te bevorderen. Het randje waarop de testmanager hierbij moet balanceren is dun, maar uitdagend.
Organiseren van de omgeving en benodigde testen in een grote organisatie
In grote organisaties zie je dat het (nog) niet mogelijk is om met een Scrum team in een sprint alle benodigde stappen tot productie te doorlopen. In grote organisaties heb je veelal te maken met een hoop afhankelijkheden welke met behulp van bijvoorbeeld een ketentest afgedekt moeten worden. Daarnaast is er veelal sprake van een releasekalender wat maakt dat je bijvoorbeeld ‘slechts’ eens per twee maanden naar productie kan. De ‘oude’ manier van werken, de watervalmethode, is hierdoor nog lang niet verdwenen.
De testmanager kan hier een belangrijke rol in spelen door de testwerkzaamheden die (nog) buiten het Scrum team plaatsvinden organiseren en laten uitvoeren. Door zijn contacten met het Scrum team weet hij welke functionaliteit wanneer beschikbaar komt. Met andere partijen in de keten kan hij vervolgens afspraken maken over uit te voeren ketentesten, zoals testplanning, testdata, testgevallen (welke testen zijn aanvullend op de reeds uitgevoerde testen nog nodig), etc. Testen die vaak nog buiten de Scrum teams vallen, zoals load- en stresstesten, kunnen ook door de testmanager gecoördineerd worden.
Beheerorganisatie
In organisaties die nog met een releasekalender werken, en dat zijn er veel, is de druk op de releaseperioden vaak groot. Een goede afstemming met de beheerorganisatie is dan heel belangrijk. De beheerorganisatie moet vertrouwen hebben in hetgeen wordt opgeleverd. De testmanager kan, door de beheerorganisatie goed op de hoogte te houden en bijvoorbeeld zoveel als mogelijk bij de sprints te laten aanhaken, zorgen voor een ‘warme overdracht’.
Idealiter dienen al deze werkzaamheden ook binnen de sprints plaats te vinden. De praktijk is echter weerbarstiger. Voor de testmanager ligt hier dus een uitgelezen kans met betrekking tot zijn inzet en toegevoegde waarde. Namelijk, het organiseren van alle testen die nog niet in het Scrum team uitgevoerd worden en het aanmoedigen en bespoedigen van het onderbrengen van deze werkzaamheden binnen het Scrum team. Voor de afstemming en de betrokkenheid van de beheerorganisatie zal een aanpak als DevOps in de toekomst ook een steeds grotere rol gaan spelen.
Is de rol van de testmanager uitgespeeld?
De testmanager zal moeten wennen aan het feit dat zijn rol verandert. Hij hoeft geen testteam meer aan te sturen zoals vroeger. De rol van de testmanager ligt nu op het vlak van het scheppen van kaders voor het team en het bevorderen van de prestaties. Daarbij dient hij een gezonde balans tussen sturing en zelfstandigheid te vinden en zichzelf ondergeschikt te maken aan het team.
Daarnaast ligt er een rol voor de testmanager in het vormgeven van de testsoorten en
-vormen welke vooralsnog niet binnen het team opgepakt worden. Hij dient deze vorm te geven, maar daarnaast ook te sturen op het opnemen van deze testen binnen de Scrum teams.
De rol van testmanager is dus nog lang niet uitgespeeld, maar wel is het zaak om deze rol te herontdekken.
Door: Nico van der Elst, testconsultant bij Bartosz