Een tester of praten

Wij hebben geen tester in ons team. Niet omdat ik niet van testers hou (ik hou van testers), maar omdat het verkeerd gebruik van een tester dysfunctionele patronen in een team verbergt en in stand houdt.

Een voorbeeld van zo’n patroon is: ik, de ontwikkelaar, schrijf code, en jij, de tester, gaat na of het doet wat het moet doen. Dit is nonsens. Het is jouw verantwoordelijkheid als ontwikkelaar om te bewijzen dat je code doet wat het moet doen, niet aan een ander om dat na te gaan.

De overtuiging die aan het patroon ten grondslag ligt, is: ik, de ontwikkelaar, ben verantwoordelijk voor het ontwikkelen, en jij, de tester, bent verantwoordelijk voor het testen. Dit is onjuist. Tests zijn een middel om de kwaliteit van een systeem te waarborgen. Als zodanig zijn ze een verantwoordelijkheid van het team als geheel, en dus ook van de ontwikkelaar.

Een Retrospective

“We hebben een tester nodig, want ik heb nu geen overzicht wat er al af is.” – Waarom heb je geen overzicht? Dát is de vraag die je moet stellen.

Een ontwikkelaar sleept zijn taakje van in progress naar done. Is het dan af? – Ja, het staat op done. – Maar is het ook getest? – Ja, door de ontwikkelaar. – Maar dat is een slager die zijn eigen vlees keurt! Ik wil er zelf ook naar kijken. – Wat let je ernaar te kijken? – Ik kijk ernaar, maar even later is er een nieuwe versie van de code uitgerold, en ik weet niet of het gedrag veranderd is. – Waarom ben je daar bang voor? – Ik heb geen inzicht in wat er getest is en wat niet. – Oké, hoe kom je daar achter? – Ik zou, ik weet niet, in de code kunnen kijken? – Ja, en wat nog meer? – Hoe bedoel je, wat nog meer? – Je zou het de ontwikkelaar kunnen vragen.

We zouden met elkaar kunnen praten.

Dit is de keus: een tester aannemen die de edele taak krijgt voor ons te administreren wat er allemaal af is, of een regelmatig gesprekje. Langer dan tien minuten hoeft het niet te duren.

Het patroon

Wat is het patroon? Het patroon is: we zitten allemaal op ons eigen eilandje. Ik, de back end-ontwikkelaar, rommel in mijn back end en jij, de front end-ontwikkelaar, in je front end, en jij, de analist, administreert in je Word-documenten, en jij, de Product Owner, sleept dingen op en neer in je backlog. Dat is geen team, dat is een verzameling individuen die alles op alles zet om een gezamenlijk doel te bereiken zonder daadwerkelijk samen te hoeven werken.

De taak die onze hypothetische tester impliciet toebedeeld krijgt is: creëer een gevoel van zekerheid door het jargon van de een te vertalen naar het jargon van de ander – en, natuurlijk, andersom. Het onderliggend probleem is: wij begrijpen elkaar niet. Dat maakt ons nerveus.

Maar om dat probleem op te lossen, heb je geen tester nodig. Wat je nodig hebt, is dat we een manier van communiceren vinden die ons in staat stelt elkaar wél te begrijpen. Goed, dat kan via een tester, dat is waar. Maar is dat de beste manier om dit specifieke probleem op te lossen?

Aannames

Waar we mee op moeten houden, is aannemen dat we het over hetzelfde hebben. We weten niet of we het over hetzelfde hebben, niet zonder dat we daar moeite voor hoeven te doen. De meest hardnekkige mythe over communicatie is dat deze überhaupt plaatsvindt.

De enige manier om onze aannames over elkaar te valideren of ontmaskeren, is door met elkaar te praten – écht met elkaar te praten, met onze monden en ogen en oren, en niet via het verslepen van taakjes op een (digitaal) bord. Als je wil weten of iets werkt en hoe iets werkt, vraag het diegene dan. Zoek elkaar op.

Wij hebben sinds een tijdje een afspraak in het team: als we menen iets werkbaars te hebben, dan testen we de nieuwe feature met het hele team. Dat is de effectiefste manier om onjuiste of deels onjuiste aannames boven water te krijgen. Waarom? Omdat we met elkaar praten.

Natuurlijk betekent dat niet dat we nooit dingen over het hoofd zien. Een goede tester voegt een hoop toe aan een team. Maar zolang samenwerken nog geen tweede natuur is geworden, zolang we onze dysfunctionele patronen nog niet doorbroken hebben, is het te risicovol, te vroeg.

Als ik moet kiezen tussen een tester of praten, dan kies ik voor de laatste.

aannames · communicatie · kwaliteit · samenwerking · teamcultuur · tester (rol)