Ruby/Scrum volgens Finalist – de tester
Deze maand plaatsen we op het Finalist Developer Blog een serie over Ruby en scrum. Dit artikel is het laatste in die serie, waarin één van onze testers – Marco Plaisier – vertelt over zijn ervaringen met Ruby en scrum binnen Finalist.
Ik ben gefascineerd door de titel van het boek The 4-Hour Workweek. De strekking van het boek is dat je, door werk slim in te delen, maar 4 uur per week hoeft te werken. Je kunt dit bereiken met het vier (alweer) stappen plan: DEAL. Oftewel, Definition, Elimination, Automation, Liberation. Dit past toevallig genoeg perfect op onze scrum aanpak.
Definition
Wat maakt testen de moeite waard? Is het een simpel testscript schrijven? Eén voor één bij alle velden in een formulier nagaan of de validatie klopt? Lijkt me niet. Nee, het interessantste en leukste onderdeel van het testen is geniepige, maar zeer reële tests bedenken die in één klap een server op zijn knieën krijgen. Ik vind niets mooier dan met een simpel “volgens mij is ‘ie stuk” een stacktrace van 4 pagina’s te produceren als bewijs dat ‘ie ook echt stuk is.
Het mooie van scrum is dat de triviale bugs al worden ondervangen door de unit tests van de ontwikkelaars. Dus daar hoef ik me geen zorgen meer over te maken. Verder hoef ik me ook niet te vermoeien met het schrijven van de acceptatietests voor de klant. Een tip uit Scrum and XP from the Trenches is om een vakje ‘How to demo’ op te nemen in iedere user story. Kortom, de testsplannen voor de klant zijn al geschreven.
Elimination
Dus hoe krijgen we het voor elkaar om alleen de leuke tests uit te voeren? Simpel, door effectief te testen. Dit is zelfs een van de hoekstenen van scrum: hoge effectiviteit.
En hier komt één van de grote voordelen van scrum van pas: cross-functionele teams. Ik kan als tester iedere stakeholder snel benaderen. Tijdens de sprintplanning prioriteert de klant alle features en heb ik direct een goede inschatting van de benodigde zwaarte van het testen van een feature. Het is dus niet nodig om uitgebreide teststrategie-documenten op te stellen en af te stemmen. Een ander voordeel van scrum is dat ontwikkelaars en designers in dezelfde ruimte zitten. Ik hoef geen ellenlange, slecht geschreven functionele ontwerpen door te lezen om er achter te komen hoe feature A zou moeten werken.
Automation
De 4-hour Workweek verstaat onder “automation” het opbouwen van een duurzame, automatische bron van inkomsten. Niet direct relevant zolang we niet met bugs kunnen betalen. Daarom bouwen de ontwikkelaars hun unit tests in bijvoorbeeld RSpec of jUnit en bouwen wij testers onze automatische acceptatie tests met een beetje Selenium of Cucumber.
Als we de tests ook nog van project tot project kunnen “hergebruiken”, dan zijn wel helemaal aan het scrummen.
Liberation
Het doel van de liberation-stap is het het losmaken van een geografische plaats. Tja, en hier werkt scrum niet aan mee. Integendeel zelfs. De consensus lijkt zelfs te zijn dat geografisch verdeelde teams maar moeizaam werken. Maar daar kan ik wel mee leven. Ik vind het prettiger werken in dezelfde ruimte met collega’s zodat iedereen snel en effectief kan communiceren.
Tot slot
Zo bekeken biedt scrum an sich niet heel veel voordelen voor een tester. En dat klopt ook wel. Wat ik zelf dan ook als grootste voordeel ervaar is het teamgevoel bij de scrumprojecten. Iedereen, de project manager, de ontwikkelaars, de testers én de klant werken doelgericht samen om een mooi eindresultaat neer te zetten. De rest volgt dan vanzelf.

Leuk stukje Marco, maar ik volg je laatste conclusie niet: waarom biedt Scrum an sich niet heel veel voordelen voor de tester?
Iedere werknemer weet dat je door samenwerken tot betere resultaten leidt, en Scrum faciliteert dit. Iedere tester weet dat je beter fouten kunt voorkomen dan ze oplossen – en Scrum faciliteert dit ook, o.a. door acceptatiescripts in een vroeg stadium te schrijven en door TDD. En als je dan fouten constateert dan is het het goedkoopst om ze in een vroeg stadium te herstellen (zegt Boehm) en dat doet Scrum ook door de unit tests, de korte feedback loop vanuit de tester en de geautomatiseerde acceptatiescripts – alles binnen de iteratie. Hoeveel meer voordeel wil je hebben…?
Anko Tijman March 17, 2009 13:07
Dankjewel.
Maar daar schaar ik mijn huidige collega’s absoluut niet onder.
Ik ben het met je eens hoor, maar ik redeneerde vanuit het perspectief van het boek. De voordelen die jij noemt vallen naar mijn mening niet onder scrum, maar onder agile.
Trouwens, ik ken een werknemer die niet vindt dat samenwerking tot betere resultaten leidt
Marco Plaisier March 17, 2009 18:08