De Kijk van Kees: Agile step stones

Auteur: Kees Blokland ● kees.blokland@polteq.com

Kees Blokland

Velen van ons testen inmiddels binnen Agile teams. Regelmatig staan in de IT-media succesverhalen over Agile softwareontwikkeling, waarbij vaak Scrum wordt toegepast. ‘Top vijf gouden regels van Scrum’, of ‘Tien redenen waarom Agile goed werkt’: verzonnen titels, maar ze zouden zo op Computable.nl of Testnieuws.nl kunnen staan. Ik geloof in de potentie van de Agile principes en ik zie ze ook werken.

Een grote organisatie in het buitenland (die ik sinds 2007 ken) brak het vroegere, loodzware, maanden durende blok Design-Build-Test op in drie weken durende iteraties. Alleen dát al verhoogde de voorspelbaarheid gigantisch. Waren ze daarvoor gewend aan uitloop van maanden, nu kon men met een (op zich niet geplande) afsluitende hardening iteratie van drie weken de release succesvol afsluiten en de klant op tijd de beloofde featureset leveren. Het terugbrengen van vijf testsoorten naar twee (Low Level Test en High Level Test) hielp ook enorm. Een ijzersterke zet van de organisatie was de discipline om het bouwen van nieuwe code op twee derde van de iteratie te stoppen om voldoende ruimte over te houden voor het oplossen van defects en voorbereidende werkzaamheden voor de volgende sprint. De organisatie had de potentie van deze maatregelen herkend als praktisch goed haalbaar met redelijke ‘opbrengstgarantie’.

Maar, niet alles was Agile-goud wat er blonk. Een kleine greep uit de observaties. Misschien herken je er wel een paar in de organisatie waar je werkt.

Schermafdruk 2015-03-25 11.28.50

Grote stappen, later thuis
De doorlooptijd van het testwerk dat hoort bij een iteratie was veel langer dan één iteratie. In het plaatje hierboven worden drie iteraties getoond. Development en Test werkten in iteraties die één week ten opzichte van elkaar waren verschoven (ook een interessant gespreksonderwerp…). Door de grote omvang van de brokken werk in een iteratie moest Test al ruim voor de start van de iteratie de testvoorbereiding starten met een MBT-stap (Model Based Testing). Ook de voorbereidingen voor testautomatisering (AW, Action Words) startten in een vorige iteratie. Mede door de verschoven iteraties kregen de developers ook nog de nodige defects aangeleverd na afloop van de iteratie. Het automatiseren van de (regressie-)tests kon pas ruim na de afronding van de iteratie werkend worden gemaakt. Dit alles zorgde voor allerlei conflicten tussen taken die horen bij verschillende iteraties. Voorgestelde oplossing: breek het werk op in kleinere stukken, zodat ieder stuk in een kortere doorlooptijd kan worden afgerond. Hapklare brokken hebben diverse bijkomende voordelen. In de daily standup heb je een zinvoller gesprek. Niet: “Gisteren heb ik getest aan feature X, vandaag ga ik hiermee verder”, maar “Gisteren heb ik onderdeel Y van feature X getest; de drie defects die direct werden opgelost waren bij hertest akkoord. Vandaag test ik onderdeel Z van feature X’. Iedere dag iets om af te ronden. Dan konden ze ook een goed werkende burndown chart en een storyboard maken (hadden ze niet).

Verantwoordelijkheid en vertrouwen
De daily standup ging ongeveer als volgt. Rond een whiteboard (weinig overeenkomst met een storyboard, maar dat kwam ook door het vorige punt) stond een groepje teamleden om een centrale persoon heen. Die was vervolgens tachtig procent van de tijd aan het woord. De teamleider verdeelde als vanouds de taken over het team en stelde zich op de hoogte van de voortgang door de teamleden één voor één uit te vragen. Keurig netjes binnen de timebox van vijftien minuten, dat wel. In de planningmeeting waren vooral een projectleider en een testmanager aan het woord. Er zaten wel testers bij, maar die gaven alleen antwoord op gerichte vragen. imgresKortom: de organisatie had nog geen vertrouwen in de teamleden om zelfstandig tot een goede planning en taakverdeling te komen. Om dit punt te maken gebruikte ik de analogie met het leren fietsen door je kind: eerst hou je het vast, eventueel met zijwieltjes. Maar als je die bescherming niet een keer wegneemt, wordt het niets met zelfstandig fietsen. En ja, je moet rekening houden met een (hopelijk niet te zware) crash op zijn tijd…

Step stones
Je kent ze wel, van die stapstenen om een beekje over te steken zonder natte voeten. Dat beeld komt bij mij op bij organisaties die bezig zijn zich om te vormen naar Agile. Een stapsteen kun je zien als een nuttige tussenstap, die direct al wat opbrengt (dichterbij de overkant EN nog droge voeten). Bergwandelaars beheersen de kunde om droog een beekje over te steken als geen ander. En af en toe een natte sok neem je voor lief!

stepstones

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *