Leaders in software testing

Volwassener worden in Agile omgevingen

Leaders in software testing

Volwassener worden in Agile omgevingen

Volwassener worden in Agile omgevingen
Agile
Michiel Keij 19 oktober 2016
0 reacties

Als je mij een jaar geleden had gevraagd wat Agile is, had ik je er weinig over kunnen vertellen. Ik was net afgestudeerd en in de praktijk nog niet in aanraking gekomen met Agile. Nu, een jaar en een aantal Agile projecten later, raak ik er bijna niet meer over uitgepraat. Ik ben erg enthousiast over Agile, maar ik zie ook mogelijke verbeteringen. In dit artikel, dat onderdeel is van een tweeluik, zal ik mijn mening geven over Agile werken en geef ik een aantal verbetersuggesties. Binnenkort publiceer ik het tweede artikel over experimenteren met Agile en hoe hierbij gebruik kan worden gemaakt van specifieke software.

Agile in combinatie met andere principes

Ik ben van mening dat de kernprincipes van Agile ongelofelijk sterk zijn en eenvoudig te combineren met andere sterke principes, bijvoorbeeld LEAN en Continuous Improvement. In de praktijk blijkt het alleen lastig om Agile werken echt draaiend te krijgen. En als het dan al op poten staat, is het moeilijk echt Agile te blijven. Mijn ervaring is dat het meer de voorwaarden zijn waaraan een organisatie moet voldoen om Agile überhaupt geïmplementeerd te krijgen die de uitdaging vormen. Zo hebben veel mensen moeite met het loslaten van gedetailleerde planningen en andere waterval structuren die in de loop van de tijd zijn ontstaan. Daarnaast moet de cultuur open zijn en moeten managers teams de ruimte willen geven om autonomer te worden.

Scrum is niet gelijk aan Agile

Ik merk dat de termen Agile en Scrum vaak voor hetzelfde gebruikt worden, terwijl het om twee verschillende zaken gaat. Scrum is een methodiek (die bepaalde activiteiten voorschrijft waaraan je je als team moet houden) waarmee een organisatie meer Agile gemaakt wordt en waarmee flexibiliteit mogelijk wordt. Agile is geen methodiek, het is een gedachte over hoe er zo effectief mogelijk gewerkt kan worden. Je zou zelfs kunnen zeggen dat Agile een manier van denken is.

Wat is Agile werken voor mij dan wel?

Een methodiek flexibel inzetten is voor mij pas echt Agile werken. Binnen Scrum wordt bijvoorbeeld gebruik gemaakt van sprint demo’s. Tijdens een sprint demo kan het product gevalideerd worden, met andere woorden: “Bouwen we wat we willen bouwen?”. Een sprint demo kan aan de andere kant het proces vertragen. Stel je voor dat je in een organisatie zit die elke dag een oplevering doet met wel 50 story’s per sprint, dan gaat er wel veel tijd verloren aan het geven van demo’s. Houd je vast aan de demo omdat Scrum dat dicteert, of is het misschien beter om een andere vorm te zoeken?

Voor mij betekent Agile werken dat de manier waarop methodes gebruikt worden en het Agile werken wordt vormgegeven, bespreekbaar moeten zijn. Er kan geëxperimenteerd worden, maar blijf evalueren of het werkt en pas aan wanneer nodig.

Meten is weten

Een mogelijke verbetering binnen Agile werken wat mij betreft is meten. In een Agile project zijn de exacte scope, het eindresultaat en de verwachte kosten vooraf lastiger in te schatten. Dit maakt dat de voorspelbaarheid over een langere periode onzekerder is. Onlangs heb ik meer geleerd over de Six Sigma methodiek. Een sterk punt van deze methode vind ik het verzamelen van data met betrekking tot je proces en op basis daarvan het maken van ‘Data-Driven Decisions’.

Het meten en analyseren van data over processen kan bijdragen aan de voorspelbaarheid van een Agile project. Eén van de bekendste meetbare concepten die Scrum introduceert, is de ‘Burn Down Rate’ of ‘Velocity’. Dit is een waarde die weergeeft hoeveel punten (hoe arbitrair ook) een team in een sprint heeft verbrand. Deze waarde wordt vervolgens afgezet tegen de hoeveelheid ingeplande punten. Hiermee wordt bepaald of een team de sprint heeft behaald en of ze de juiste hoeveelheid story points hebben ingepland. Na een aantal iteraties weet een team hoeveel punten het doorgaans verbrandt. Met deze kennis wordt de voorspelbaarheid vergroot, aangezien je dan een indicatie hebt van de productiviteit van het team.

Een team verbrandt zelden hetzelfde aantal story points. Vaak wordt er in een ‘Burn Down Chart’ gekeken naar een ‘High’ en ‘Low Estimate’, om uit te komen op een minimaal en maximaal te verwachten resultaat. Dit getal wordt natuurlijk na iedere iteratie betrouwbaarder, maar is vaak nog niet geschikt om al na een paar iteraties goed vooruit te plannen. De afwijking zal dan te groot worden. Maar als je na 10 iteraties uiteindelijk minder dan 10% afwijking bereikt, kun je veel beter voorspellen dan met welke methodiek dan ook. Voor sommige afdelingen, bijvoorbeeld marketing, is het moeilijker om hier rekening mee te houden. Doorlooptijden zijn vaak korter en er wordt gewerkt met vastgestelde promotiedata. Kan een marketing team wel beginnen met promoten over twee maanden? Als er genoeg gemeten wordt, kan er in ieder geval een zo nauwkeurig mogelijke inschatting worden gemaakt.

Hoe voorkom je ‘verwatervallen’?

De grote vraag is dan natuurlijk: hoe voorkom je dat je door te veel te plannen niet meer Agile bent? Als je in staat bent beter te plannen en op basis daarvan uitspraken doet over verwachte scope, kun je flexibiliteit verliezen. Dit kan echter gemeten worden door het beantwoorden van vragen als: hoe lang duurt het gemiddeld voordat een idee naar story in een sprint gaat en hoe vaak komen er ‘last minute’ story’s bij? Wanneer ook hier een beeld van is, kan dit worden afgezet tegen de planning die gemaakt is voor de lange termijn. Hiermee blijft de flexibiliteit en krijgt de business genoeg informatie over wat zij wanneer kunnen verwachten.

Agile en statistiek

In dit artikel noem ik een manier waarmee door middel van statistiek de voorspelbaarheid verhoogd kan worden en daarmee onzekerheden binnen Agile werken verminderen. Door gebruik te maken van statistieken kunnen teams, wanneer ze objectieve informatie krijgen, zelf gaan sturen op ‘Velocity’ en accurate inschattingen van story points. Hierdoor zal de overgang naar een meer Agile cultuur vloeiender verlopen en de cultuurshock van het opgeven van vaste structuren en gedetailleerde planningen verminderen. Dit draagt uiteindelijk bij aan een vergroting van de kans op het succesvol invoeren van Agile!

Michiel Keij, volwassener worden in Agile omgevingen

Michiel Keij, volwassener worden in Agile omgevingen

Michiel Keij, testengineer bij Polteq

Reageren

Om SPAM te voorkomen wordt uw bericht na goedkeuring door de webmaster geplaatst.

Het e-mailadres wordt niet gepubliceerd.


Reacties

Er zijn nog geen reacties.

Onderwerpen

Laatste reacties

Kort maar goed verhaal, Hapte
› Lees verder

Roel.Valkema@hetnet.nl

Succes met de 2e helft!
› Lees verder

Wim

Hoi Evie, ik zie jouw verhaal voorbij komen. Wat gaaf! Wat ontzettend fijn ...
› Lees verder

Nicolette
Polteq (NL)Printerweg 523821 AD AmersfoortNederlandT +31 (0) 33 277 35 22E info@polteq.com
Polteq (BE)Interleuvenlaan 623001 Heverlee (Leuven)BelgiëT +32 (0) 16 39 48 04E infobe@polteq.com