U vraagt, wij draaien

Een stakeholder zei laatst iets tijdens een Sprint Review wat me tegen het zere been stootte. Ze was nog niet zo lang aangesloten bij de ontwikkeling van de applicatie en gebruikte deze zelf alleen nog als pilot.

We spraken over aansluiten van een nieuwe gebruikersgroep op onze applicatie (zie ook deze blog). De stakeholder gaf aan dat het op korte termijn - anderhalve sprint - moest gebeuren, en somde daarna een lijst features op die tegen die tijd af moesten zijn, “anders heeft het geen zin.” Harde woorden, en dat voor iemand die nog maar net komt kijken!

Devolutie

Naar mijn beleving toonde ze met haar opmerking een instelling van het type “ik vraag, jullie draaien”. Zo’n stakeholder ziet een applicatie als niet meer dan een bak met features, en meent dat om het even welke feature heus niet zo veel werk kan zijn. “Het is toch maar een kwestie van een extra vinkje?” hoor je haar bijna zeggen. “Hoeveel moeite is dat nou?”

Dat, in combinatie met een groep ontwikkelaars die te weinig tegengas gaf, is precies de instelling die onze legacy-applicatie heeft doen devolueren tot een big ball of mud. Uitgerekend dat is de reden dat we een nieuwe applicatie zijn gaan ontwikkelen - waar zij nu over mee mag beslissen.

Hoe het (niet) werkt

Ik beet op mijn tong terwijl ze het zei, maar meende daarna toch mijn mond te moeten openen. “Je moet er rekening mee houden dat je niet onmiddellijk alles kunt krijgen wat je wil,” zei ik zo vriendelijk mogelijk. “Wat we kunnen doen is dit: je krijgt eerst een versie met wat ruwe randjes eraan. Daar zul je omheen moeten werken. Probeer het uit en koppel aan ons terug wat wel en niet werkt aan die oplossing. Op basis van die feedback zullen wij aan de slag gaan om een tweede versie van de feature op te leveren.”

“Als het goed is, is die tweede versie een stap dichter bij wat een eindgebruiker nodig heeft. Maar natuurlijk zullen daar ook dingen in zitten die nog niet helemaal lekker werken, of niet goed aansluiten op het werkproces. De cyclus herhaalt zich dus weer: koppel terug wat werkt en wat niet, en dan gaat het team aan de slag om de gebruikerservaring te verbeteren.”

Ik gaf een voorbeeld van een andere feature die ook zo was uitgebouwd, en concludeerde: “Je kunt niet van ons verwachten dat we in één keer precies leveren wat je nu vraagt. Zo werkt dit niet, zo werkt software ontwikkelen überhaupt niet eigenlijk.”

De rest van de Sprint Review hield de stakeholder haar mond, maar ik durf niet te zeggen of het kwam doordat ze had begrepen wat ik zei - en, ook niet onbelangrijk, waarom ik het zei. Ik hoop dat dat de reden was, maar mijn vrees is dat ik zo scherp tegen haar in ging dat ze, niet overtuigd, haar mond maar besloot te houden. Het is lastig wanneer een stakeholder daar moeilijk in te peilen is.

Aanhaken

Soms hebben stakeholders weinig ervaring met het softwareontwikkelproces. Als gevolg daarvan lijken ze maar weinig of geen begrip te hebben van hoe dat proces in elkaar zit. Ze verwachten op zeer korte termijn een berg aan features, zonder na te denken over het feit dat het werk kost om deze te ontwikkelen, en bieden weerstand tegen compromissen. Het is essentieel om zulke stakeholders tegengas te geven.

De snelste manier om zo’n stakeholder te neutraliseren, zeg ik ietwat sardonisch, is om deze niet meer voor de Sprint Review uit te nodigen. Maar vaak is die optie niet haalbaar, en het is ook maar de vraag of dat wenselijk is als dat wel zo zou zijn. Een ontbrekende stakeholder ligt niet dwars, maar biedt ook geen toegevoegde waarde in de vorm van feedback. Door zo iemand uit het proces te snijden, loop je het risico zijn of haar bezwaren op een later moment allemaal tegelijkertijd over je heen gestort te krijgen. Is dat een vooruitgang?

De uitdaging is om zo’n stakeholder productief aangehaakt te houden. Je wil diegene mee kunnen nemen in het ontwikkelproces, zodat deze een gevoel krijgt van wat er komt kijken bij het ontwikkelen van een gewenste feature. Dat is een groeiproces. Het is onredelijk te verlangen dat iemand die weinig ervaring heeft op dit vlak, gelijk op dezelfde golflengte zit als het team of al langer aangehaakte stakeholders.

Meedenken

Dit is wat je wil: dat diens inbreng tijdens een Sprint Review langzaamaan verandert van “Ik moet dit hebben, punt” naar “Ik zou dit graag willen hebben, wat is er voor nodig om dat voor elkaar te krijgen?” Je wil een relatie hebben waarin jullie partners zijn en met elkaar meedenken.

Wat je niet wil, is dat een stakeholder vraagt en dat jij draait. Dat is de snelste manier om je applicatie om zeep te helpen, architectureel maar ook functioneel. Want een stakeholder die weinig ervaring heeft met softwareontwikkeling, heeft ook maar zelden een goed zicht van wat de beste oplossing is voor zijn of haar probleem.

Je wil draaien wat nodig is, niet per se wat gevraagd wordt. Harde woorden, misschien, maar ik kom al iets langer kijken!

agile ontwikkeling · communicatie · empathie · samenwerking · scrum · software ontwikkelen · sprint review · stakeholders