Column: Vergeten methoden in de Rebound

Column: Vergeten methoden in de Rebound

Steeds vaker komen we als testers terecht in een ‘scrum-achtige’ omgeving.  Soms blijft dan alles bij het oude en is het grootste verschil dat wat we eerder deden, nu staand uitvoeren. Maar met steeds grote regelmaat komen we als tester terecht in een omgeving die scrum serieus toepast en met kracht gelooft in het lerend vermogen van een interdisciplinaire groep vakmensen.  Het scherpe randje van zo’n omgeving is dat aanwezigheid van documentatie die wij als tester makkelijk kunnen verwerken tot testgevallen niet vanzelfsprekend is. Soms lijkt het alsof Exploratory Testing dan de enige aanpak is die past in zo’n omgeving.  Maar dat is niet het geval! 
Methoden als Joint Testware Development (JTD) en Soap Opera Testing zijn wat in de vergetelheid geraakt, ondanks dat ze in de laatste versie van TestFrame® ook weer besproken worden. In de praktijk  zie je de methode niet veel toegepast worden. Dat is jammer want de methode is uiterst bruikbaar in omgevingen die gedomineerd worden door een agile manier van werken.  Ik wil de ruimte die ik krijg voor mijn column dan ook gebruiken om  JTD en Soap Opera Testing hernieuwd onder de aandacht te brengen bij de lezers van testnieuws.nl.

Joint Testware Developement
JTD ontstond in de schaduw van een van de eerste versies van TestFrame®,  halfweg jaren negentig.  In mijn geheugen waren het Jeroen Voorn en Dennis Janssen die de aanpak voor het eerst op schrift stelden, maar ik wil daarbij meteen mijn excuses maken aan anderen die ik daarmee tekort doe. De richtlijnen van de JTD aanpak zijn erg eenvoudig en summier, maar in de uitvoering vereist de techniek kennis en ervaring van de testpraktijk. Wanneer je als tester in een agile project voldoende ruimte wordt gelaten om je vak serieus uit te voeren is het een perfect hulpmiddel om een goede, bruikbare testset op te bouwen voor iedere sprint tijdens scrum. De methode biedt gelukkig ook voldoende ruimte om er je eigen draai aan te geven. Getoetst aan het  agile manifest of aan de de zeven basisprincipes van de context-driven school dan blijkt het allemaal prima te passen.

Joint Testware Development erg bruikbaar in scrum
Het idee achter JTD is dat de testprofessional de ontwikkeling van testgevallen gezamenlijk met de stakeholders oppakt in zogenaamde JTD workshops.  Een ervaren testprofessional treedt in JTD op als moderator. Het is zijn taak te inventariseren welke testsituaties (in de vorm van testgevallen) uitgevoerd moeten worden binnen een sprint, en wat haalbaar is. De wijze waarop de testsituaties tot stand komen is vergelijkbaar met de wijze waarop de ‘Definition of Done’ tot stand komt in een Scrum traject. 
Nadat de testsituaties zijn benoemd in een of meerdere workshops van maximaal enkele uren is het de taak van een junior of medior testprofessional om in de rol van testscripter de vertaling naar testgevallen te maken. Uiteraard is het de bedoeling om met  de testgevallen alle geïnventariseerde testsituaties af te dekken. Deze testsituaties (of een representatieve set daarvan) zijn prima  materiaal voor een demo sessies aan het ‘einde’ van een scrum-sprint.  In de variant op JTD die ikzelf gebruik zijn de testgevallen die zo ontstaan, een vorm van documentatie die door het scrumteam makkelijk en dankbaar wordt gebruikt. 

Samenstelling van de werkgroep
Bij een JTD sessie is het van belang dat testdoelen en groepssamenstelling aan elkaar gekoppeld zijn.  De samenstelling van de deelnemers van een JTD sessie die ten doel heeft de testdoelstellingen irt performance boven tafel te krijgen is dus een andere dan de samenstelling van een sessie die zich op de functionaliteit of onderhoudbaarheid van het systeem richt.  In een sessie zijn naast de nodige experts  natuurlijk áltijd een moderator en testscripter aanwezig. De moderator zorgt ervoor dat de testdoelen SMART, geprioriteerd  en met de juiste risico-inschatting in het ontwikkel/testproces worden opgenomen.  Daarnaast zorgt de moderator ervoor dat op de juiste momenten doorgevraagd wordt,  en dat niet alleen ‘de happy flow’ aandacht krijgt. Tijdens de werkgroepbijeenkomsten (JTD sessies) ontstaan vaak de nodige issues. Dat kunnen onderlinge meningsverschillen zijn, maar ook tegenstrijdigheden tussen de verschillende JTD-expert werkgroepen. Die meningsverschillen of tegenstrijdige inzichten worden dan als issue bij de gebruiksorganisatie of de gemodelleerde representatie daarvan (Product Owner ;-)) neergelegd met het verzoek de ‘Gordiaanse Knoop’ door te hakken.  De testsituaties waar géen discussie over is worden door de testscripter genoteerd en na de JTD sessie zelfstandig (maar in samenspraak met het Scrumteam) vertaald in testgevallen.  In scrum is het dan eigenlijk een noodzakelijkheid dat deze testgevallen makkelijk te herhalen zijn en dus geautomatiseerd uitgevoerd worden.  Het automatiseren van de testgevallen is wat mij betreft niet noodzakelijkerwijs een taak van een testspecialist. Een ontwikkelspecialist kan dit ook doen, mits deze zich gedisciplineerd aan de testspecificatie houdt. (testnavigator)

Succesfactoren
Om Joint Testware Development succesvol  uit te voeren is het belangrijk dat de juiste deelnemers en tijdig  worden geselecteerd. Ze moeten vakkundig en  representatief voor de grotere groep, en over het nodige mandaat en vertrouwen beschikken.  Evident is dat de deelnemers hun mannetje staan en over erg goede intermenselijke vaardigheden beschikken.  Voor de selectie van de experts in de JTD groep is vanzelfsprekend een belangrijke rol voor de  Product Owner weggelegd.  Die stem is doorslaggevend.

Afsluiten met een Soap Opera
Het is een goede gewoonte van me om een JTD sessie af te sluiten met de gezamenlijke formulering van één of meerdere soap-opera’s.  Deze methode -die oorspronkelijk door Hans Buwalda -  die zijn werkomgeving eind jaren negentig naar de USA verplaatste-  vorm kreeg is later door anderen – overgenomen. Met Soap Opera Testing  formuleert de groep gezamenlijk enkele van de meest extreme gevallen die voor kunnen komen in de praktijk.  De voordelen daarvan zijn dat de grenzen van het systeem worden gezocht en de JTD-sessie op een leuke manier wordt afgesloten. Bijkomend voordeel is dat testscripters en experts elkaar leren kennen en elkaar makkelijker weten te vinden als de noodzaak daartoe ontstaat.

Jouw ervaringen
Ik ben gegrepen door de eenvoud van JTD en Soap Opera Testing en merk dat ze prima aansluiten in mijn diepgewortelde geloof dat agile testing en gestructureerd werken elkaar niet hoeven uit te sluiten. Evenmin hoeven gestructureerde testmethoden en flexibiliteit elkaar niet in het vaarwater te zitten. Wie geïnteresseerd is in de praktijk van Joint Testware Development en Soap Opera testing kan uiteraard contact zoeken met mij of via het internet  materiaal vinden en de literatuur er nog eens op naslaan. Mensen die ervaring hebben met deze methoden in een agile werkomgeving nodig ik van harte uit om deze met mij te delen. Ik ben erg benieuwd of  jullie bevindingen ook zo positief zijn als die van mij. 
 
————————————————— 
Rik Teuben, werkzaam als technische manager bij VX Company.