Meer dan ooit is het gebruik van een Agile-aanpak gemeengoed bij de ontwikkeling van software. Dat vraagt om andere competenties voor de testers. Een belangrijk kenmerk van de Agile-aanpak is de nauwe samenwerking tussen alle teamleden. Daar waar de tester gisteren nog in een onafhankelijk testteam werkte om de systeemtest uit te voeren, is dat nu compleet anders.
De nieuwe generatie tester werkt in een multidisciplinair Agile-team waarbij testen integraal onderdeel is van het ontwikkelproces naar de gewenste kwaliteit van de software. Sterker nog, soms lijkt het erop, dat testers alles moeten kennen en kunnen, terwijl andere Agile-teamleden hetzelfde blijven doen als ze altijd al deden. Dat is natuurlijk enigszins gechargeerd. Maar hoe dan ook het functieprofiel van de testprofessional is een hele andere dan die van een paar jaar geleden.
Het speelveld
De belangrijkste competenties heb ik op een rij gezet. In deze lijst van vijf competenties neem ik niet mee dat de tester methodisch onderlegd is. In welke omgeving dan ook moet de tester basis testactiviteiten, -producten en –technieken kennen en beheersen. Ongeacht de gebruikte testmethodes als TMap, ISTQB, Testframe of ISO29119. Met deze vijf competenties verschuift de rol van de huidige tester van laatste man naar verdedigende middenvelder of zelfs spelverdeler in het speelveld van software-ontwikkeling!
1. Op en top kwaliteitskatalysator
De testprofessional zorgt niet alleen meer voor een laatste vangnet voordat de software in productie gaat. Deze Agile-tester werkt met alle teamleden samen om continu informatie te geven over de kwaliteit en het voldoen aan de businesswensen van het product. Door, vanaf de start, kritische vragen te stellen kunnen ook aannames over niet-functionele aspecten als performance, beveiliging, betrouwbaarheid, enzovoort, concreet worden gemaakt. Dat bevordert de kwaliteit van het product. Kwaliteit is een primair onderdeel van de Agile-gedachte. En het team is gezamenlijk verantwoordelijk voor het opleveren van werkende software; iets waar de Scrum master bovenop zou moeten zitten. Echter, in de praktijk fungeert de tester vaak – onterecht – als kwaliteitsgeweten van het team. Dit kan een tester doorbreken door met een kwaliteitsbewuste en positief kritische houding de dialoog aan te gaan met andere teamleden. Daardoor werkt de tester als katalysator voor kwaliteitsverbeteringen. Uiteraard is daarbij vasthoudendheid en overtuigingskracht nodig om teamleden duidelijk te maken dat kwaliteit geen vanzelfsprekendheid is.
2. Grensoverschrijdend
Maakte een tester eerst nog testgevallen, om ze daarna uit te voeren, nu moet een Agile-tester opeens zijn grenzen verleggen en met alle teamleden in en aan de slag om tot een vorm van productrisicoanalyse, teststrategie en -aanpak te komen. Dit zijn testactiviteiten die bij traditioneel testen meestal bij de rol van testmanager waren belegd. Verder kan je zeggen dat Agile vaak – nog steeds zou je ook kunnen zeggen – wordt gezien als een ‘ontwikkelfeestje’. In de praktijk uit zich dat regelmatig in onvoldoende aandacht voor onder andere integraties met andere (deel)projecten en overdracht naar de beheer- en gebruikersorganisatie. De tester zou in zo’n situatie een brug kunnen slaan tussen de diverse partijen. Bijvoorbeeld tussen it en business en it en beheer.
3. Samenwerker pur sang
Werken in crossfunctionele en multidisciplinaire teams betekent dat alle teamleden bereid moeten zijn andere rollen te vervullen. Zo moet een tester bereid zijn een teamlid in een andere rol te assisteren bij zijn of haar werkzaamheden. Dit vereist meer technische vaardigheden en kennis van een tester. Ook andere teamleden, zoals een ontwikkelaar, moet bereid zijn een testrol te vervullen als dat noodzakelijk is. De tester treedt dan op als coach. Het allerbelangrijkste voor een Agile-tester (en voor ieder teamlid) is misschien wel, dat hij/zij intensief samenwerkt met de rest van het team om het testen te integreren in het hele proces. En daarmee niet op een ‘kijk-mij-eens-belangrijk-en-specialist-zijn’-eilandje gaat zitten. Kortom, samenwerken is het ultieme tweerichtingsverkeer!
4. Pro-actief
Zoals ik een Scrum master heb horen zeggen: ‘Proactief klinkt als een management ‘bullshit’ woord, maar ik heb in een Agile team niets aan een tester die aan de andere kant van de ‘muur’ staat te wachten tot er te testen taken overheen worden gegooid.’ Met andere woorden, testers zijn niet langer de slachtoffers, niet langer de eenzame voorstanders van kwaliteit. Zij zijn volwaardige teamleden die willen dat het team als geheel kwaliteitsproducten levert. De rol van de testers wordt hiermee rijker en invloedrijker. De Agile-tester doet dit door vanaf het begin de dialoog aan te gaan met de producteigenaar of andere relevante business stakeholders. Daarmee is hij in staat goed te begrijpen wat ze echt willen en wat ze bezighoudt. Het gaat hier niet om het verzamelen van ellenlange lijsten requirements, maar ‘simpelweg’ om het begrijpen wat de stakeholder uit een bepaald product backlog item wil halen.
5. Bezit technische kennis
Als tester is het goed om technische kennis te hebben. Bijvoorbeeld van (test)tooling. Hierbij is het niet direct noodzakelijk zelf te kunnen programmeren om de tests automatisch uit te voeren. Daarentegen is kennis van het gebruik van tooling een must., Immers, het bouwen van een ‘test engine’ om tests automatisch uit te voeren, is specialistisch werk. Iets dat niet elke tester beheerst. Wellicht kan een programmeur uit het Agile-team dit zien als zijn of haar taak. De tester moet wel weten hoe de engine te gebruiken om de tests geautomatiseerd uit te voeren. Daarnaast bezit de tester ook kennis van tooling van onder andere voortgang- en kwaliteitsbewaking, traceerbaarheid en configuratiemanagement.
Hele klus
Het is nog een hele klus om te voldoen aan deze competenties. Verschuiving van laatste man die de fouten van de rest van het team opvangt, naar een bepalende rol in het middenveld van software-ontwikkeling, biedt kansen voor de nieuwe generatie testers. Op zo’n manier is er zowel sprake van verdieping als verbreding van de Agile-tester van de toekomst. Een mooie uitdaging dus!
Leo van Aalst, senior consultant, auteur en lector software kwaliteitszorg Sogeti
Testingconferentie
Meer weten over de toekomst van de testprofessional? Kom naar de ‘tmapdag’, de grootste testingconferentie van ons land op 1 oktober 2013 in Bussum.
Over de auteur
Leo van der Aalst heeft ruim 25 jaar ervaring in de it. Na zijn carrièrepad van programmeur tot programmamanager, heeft hij zich gespecialiseerd in het testvak.
Van der Aalst is co-auteur van de TMap NEXT, TMap NEXT BDTM en TMap NEXT in Scrum boeken en ontwikkelde onder andere diensten voor Agile-testen, de inrichting van testorganisaties en voor testoutsourcing. Verder heeft Leo voor het Exin opgaven ontworpen voor zowel het TMap NEXT Test Engineer als het Test Management-examen. Tevens is Leo lector van het lectoraat Software Quality & Testing aan de Fontys Hogescholen, lid van de normcommissie NC 381007 ‘Software and System Engineering’ en Development Lead van de ISTQB Agile Add-On Syllabus.
Tenslotte is Van der Aalst een veelgevraagd docent voor testopleidingen, spreekt hij regelmatig op nationale- en internationale conferenties en is hij auteur van diverse artikelen.
Dank Leo. Een waardevol artikel dat antwoord geeft op vragen over rol/verantwoordelijkheid waar testers in agile projecten mee zitten.
Ik zou hier de elementen flexibiliteit en prioritering aan willen toevoegen. Als traditionele tester toets je of het systeem voldoet aan de beschreven requirements. Bij als agile tester toets je of het systeem waarde toevoegt aan de business. Dit zal wat vaker wisselen dan de beschreven requirements. Hierdoor moet een tester in staat zijn om op deze flexibiliteit in te spelen en zijn prioriteiten, aan de hand van de vraag van de business, snel bij te stellen. Dit vergt een andere houding van de tester ten aanzien van zijn werk. Het is soms lastig om deze stap te maken.
Goed verhaal Leo. Je noemt hier zeker belangrijke punten voor testers in Agile settings. Ik moet wel zeggen dat ik het jammer vindt dat je de testkennis niet als punt neerzet, hoewel je het wel in het begin noemt. Juist dat punt is wat de tester onderscheidend maakt in een multifuntioneel team. De expertise die de tester inbrengt is dermate belangrijk dat je in mijn opinie beter een top 6 had kunnen maken.
Het benadrukken van het belang van kennis van testmethoden, testtechnieken, ofwel het testvak, is in een wereld waar steeds meer over generalisten wordt gesproken erg hoog. Steeds vaker zie ik dat zomaar iemand (gebruiker, beheerder, …) wordt aangehaakt om het testen te regelen in de Agile teams. Dit heeft over het algemeen niet het gewenste effect en uiteindelijk is er toch testexpertise nodig.