Agile moet tussen de oren zitten

Agile moet tussen de oren zitten

Agile is een geliefd gespreksonderwerp onder softwareontwikkelaars. De methode wint immers steeds meer terrein. Het gaat daarbij vaak over agile technieken en dat vind ik verontrustend. Agile draait namelijk niet om tools maar om menselijke interactie. Agile is vooral een mindset.

Arie van Bennekum

De laatste tijd word ik veelvuldig geconfronteerd met allerlei agile technieken. Waar ik ook ben, als spreker op conferenties, aan het werk bij klanten of onder vakbroeders van de community, overal hoor ik tech talk waarbij het lijkt of men die veelheid aan tools als kern van agile beschouwt.
Begrijp me goed, ik heb de agile technieken hoog zitten. Alleen wanneer we elk mogelijk proces in onze werkzaamheden automatiseren, zijn we in staat om elke twee weken kwalitatief uitstekende software te leveren. Tools voor het ontwikkelen, testen, integreren en in gebruik nemen van software zijn onmisbaar voor zowel kwantiteit als kwaliteit van onze productie. Zou men handmatig programmeren, dan zijn ontwikkelaars te veel tijd kwijt aan werk dat geen bijdrage levert aan de businessvalue. Bovendien draagt handmatig werken het risico van fouten in zich, waardoor men steeds minder aan de gestelde eisen voldoet. Inderdaad, zonder techniek geen softwareontwikkeling op basis van agile. Mijn punt is echter dat agile in de eerste plaats tussen de oren moet zitten. Ontwikkelaars zonder de juiste mindset worden met tools echt niet agile.
Ik zie mensen nog steeds in silo’s werken, van analyse tot en met implementatie, waarbij men in het ontwikkelen maar een fractie van agile gebruikt. Ik zie nog steeds ontwikkelaars in georganiseerde omgevingen, waar ze met nauwkeurig omschreven taken onder druk staan en continu overbelast zijn. Ik zie IT’ers die pretenderen de business te vertegenwoordigen, maar met requirements komen die geen enkele waarde voor die business hebben. Ik ontmoet ‘agile teams’ die nog nooit met een klant of gebruiker om de tafel hebben gezeten. Ik ken teams waar virtualisatie alleen wordt gebruikt voor de planning, en zo kan ik nog wel even doorgaan ….

“Agile draait niet om tools maar om menselijke interactie”

Agile is niet wat je doet, maar wat je bent. Voor true agile moet je het niveau van tools en methoden overstijgen. En de enige manier om dat te realiseren is werken volgens de waarden en principes van het Agile Manifesto! Overigens ontmoet ik soms ‘agile coaches’ die dit manifest nog nooit gelezen hebben …

Agile mindset

De hamvraag is hier wat een agile mindset precies inhoudt. Hoe ga je te werk als je die mindset hebt? Agile op zichzelf is niet complex. Een van de schrijvers van het Manifesto stelt: ‘It’s all common sense, but uncommon discipline.’
Agile is heel basic. De complexiteit van agile zit ‘em in de permanent voortschrijdende inzichten en vooral in de mate waarin ontwikkelaars zich die veranderingen eigen maken. Het draait om de manier waarop ontwikkelaars als team functioneren, om het managen van teams, om de interactie met de klant of stakeholder, om het aan de slag gaan met beknopte requirements omdat bij het begin van een ontwikkeltraject nog niet alle eisen bekend zijn. Het draait om het accepteren van continue feedback en het implementeren van aanpassingen die daaruit voortkomen.
De kern van het werken volgens de ­nieuwe agile paradigma’s ligt besloten in de agile rituelen. Die staan aan de basis van transparantie, continu verbetering, kwaliteit, commitment en acceptatie. Anders gezegd, de agile rituelen leiden tot professionaliteit. Dus laten we eens een paar van die schuivende paradigma’s onder de loep nemen.

1. Werken als team

Voor mij valt of staat een agile aanpak met het zelforganiserend vermogen van het team. In plaats van werken in silo’s waarbinnen bijvoorbeeld analyse en design aparte disciplines zijn, is een agile team multifunctioneel en in staat het ontwikkelproces van begin tot eind te overzien, te hanteren en uit te voeren. Er zijn binnen het team geen afgebakende aandachtsgebieden, men verdoet geen tijd aan formele overlegprocedures en werkt niet met multi-interpretabele documenten (sommige ontwikkelaars denken bij documentatie nog steeds aan Microsoft Word). Zo’n team vormt de basis voor het delen van kennis onder alle leden waardoor je met elkaar snel en flexibel kan inspelen op steeds weer veranderende omstandigheden.
In zo’n end-to-end proces moeten alle leden van het team vertrouwd zijn met verschillende ontwikkeldisciplines, mogelijk zelfs met alle, en elk teamlid moet elke taak kunnen uitvoeren. Alleen dan kun je voor elkaar inspringen, taken tot een goed einde brengen en bovenal zelf bepalen waar je vandaag de focus legt.
Teamleden zijn goed opgeleide professionals, ze hebben een bachelor, een master of zelfs nog meer, dus vertrouw er maar op dat ze de klus kunnen klaren. Tijdens de daily bepalen zij als team in onderling overleg wat er vandaag gebeuren moet en wanneer het gebeuren moet.

2. Pairing

Samenwerken is in het scrumteam cruciaal. Ontwikkelaars die solo in hun silo werken lopen vroeg of laat vast, ze delen geen kennis en ervaring en moeten problemen zelf oplossen. Werken in een teamverband waar ‘the job’ permanent onderwerp van gesprek is en het delen van ervaring vanzelfsprekend, leidt tot betere inzichten en tot een steeds hoger kennisniveau. Dat maakt dat een scrumteam snel en flexibel kan inspelen op steeds weer nieuwe input en direct bijdraagt aan de businessvalue.

3. Servant leadership

De samenwerking binnen een scrumteam gaat verder dan alleen interactie tussen de leden. De crux van die samenwerking is dat alle processen voor alle leden van het team volledig transparant zijn. Als manager van zo’n team ben je daarom primair bezig met het faciliteren van het groepsproces en het bewaken van de scrumdisciplines. Kom als de prestaties van het team teruglopen dus niet met concrete maatregelen, maar daag de teamleden uit om zelf de bottleneck te identificeren en daar de oplossing voor te bedenken. Help het team als ze er om vragen, maar ga niet zelf aan de slag. Neem afstand en laat hen de klus zelf klaren.

4. Paradigma Stakeholder involvement

Werken volgens planning, roosters en volgorde is killing. We willen geen tijd verspillen aan procedures die niets bijdragen aan het kernproces. We moeten zo snel mogelijk inspelen op de vragen vanuit de business en inspelen op customer/market demand. Dat is makkelijk gezegd, maar niet eenvoudig te realiseren. Het vergt een heel andere manier van kijken naar softwareontwikkeling.

“We willen geen tijd verspillen aan ­procedures die niets ­bijdragen aan het kernproces”

In elke organisatie hebben allerlei disciplines bemoeienis met het ontwikkelproces. Denk aan security, architectuur, juridische zaken, corporate communication et cetera. Nog maar al te vaak wordt elk van deze disciplines te laat bij het project betrokken en benaderen de disciplines het traject vanuit de eigen silo en denkkaders. Ruk ze uit die silo’s door ze meteen bij het project te betrekken. Laat ze vanaf het begin meedenken en creëer een ‘heartbeat’ van korte feedbackloops. Daarmee creëer je betrokkenheid en draagvlak binnen de gehele organisatie in plaats van mitsen en maren aan het eind van de rit.
Maar realiseer je dat het moeilijk is om vertegenwoordigers uit deze disciplines elke twee uur om feedback te vragen. Ze zijn gewend om pas aan het eind van de rit met eisen en correcties te komen. Hen zo ver krijgen om een paar keer per dag mee te denken en terug te koppelen is een heel lastige opgave.

5. Changing requirements at all times

Pas je het programma van eisen aan tijdens een sprint? Ja, als het nodig is wel! De discipline en interactiesessies van agile voorzien in die mogelijkheid. Sterker nog, het vermogen om de requirements tijdens de rit aan te passen zijn cruciaal voor het succes van agile. We zijn nu eenmaal niet in staat om in één keer in detail duidelijk te krijgen wat een klant precies wil. Dat geldt met name aan de voorkant, de gebruikersinterface. Begrijpen wat de gebruiker precies verwacht is lastig. Dus ja, als het om een belangrijke nieuwe eis gaat dan incorporeren we die zelfs tijdens een sprint. Dat betekent overigens niet dat we elke verandering en aanpassing klakkeloos accepteren. Als iemand met een nieuw inzicht komt staat de agile discipline garant voor de kwaliteit van een discussie over mogelijke aanpassing. De ‘agile heartbeat’ zorgt dat alle belanghebbenden bij die discussie betrokken zijn. Dat leidt ertoe dat een verandering alleen dan doorgevoerd wordt als iedereen het erover eens is dat de business dit ook echt nodig heeft.
Weet daarbij dat alle betrokkenen daarmee ook accepteren dat iets anders even vooruit wordt geschoven, want het planboard van een agile team is van uur tot uur gevuld. Dus als er een nieuwe functie ontwikkeld moet worden, krijgt iets anders een lagere prioriteit. Makkelijk gezegd en gedaan, maar in de breedte van de organisatie niet altijd even makkelijk begrepen.

Over agile is meer te vertellen dan bovenstaande uiteenzetting. Wat er wel ondubbelzinnig uit blijkt is dat discipline, interactie tussen alle betrokkenen, en bewaking van de kwaliteit van de agile rituelen hand in hand moeten gaan. Dat vormt de basis voor succes.

“Zonder de juiste mindset heeft agile nauwelijks toegevoegde waarde.”

Dat brengt mij terug bij het begin van dit epistel; tools hebben een belangrijke toegevoegde waarde bij het succes van agile, maar zonder de juiste mindset, ofwel zonder bereidheid tot permanente interactie met alle teamleden heeft agile nauwelijks toegevoegde waarde.

Arie van Bennekum is een van de 17 grondleggers van agile en is de enige Europeaan die meeschreef aan het Agile Manifesto. Daarnaast is hij voorzitter van het Agile Consortium International. Van Bennekum is tevens actief als trainer, coach, consultant én ondernemer – momenteel is hij Agile Thoughtleader bij de Wemanity Group.

 

Tag

Onderwerp



Niet gevonden? Vraag het de redactie!

Heeft u het antwoord op uw vraag niet gevonden, of bent u op zoek naar specifieke informatie? Laat het ons weten! Dan zorgen we ervoor dat deze content zo snel mogelijk wordt toegevoegd, of persoonlijk aan u wordt geleverd!

Stel uw vraag