Agile werken is verworden tot een bureaucratische exercitie?
Pioniers als Honda en Panasonic kozen in de jaren negentig voor agile in reactie op een snel veranderende samenleving waarin zich plots tal van nieuwe technologieën manifesteerden. Ze constateerden dat hun productontwikkeling achterbleef en stimuleerden daarop empowerment - teams namen voortaan zelfstandig beslissingen -, kennisontwikkeling en teamwork. Bij deze noodzakelijke transformatie gingen medewerkers gewoon aan de slag en leerden al doende. Met de stijgende populariteit van agile formaliseerde ook de aanpak en verschenen er boeken met regels, voorschriften en procedures. Daarmee stop je agile in een keurslijf en wordt het een stroperig, bureaucratisch proces.
In de praktijk van agile wordt vooral scrum toegepast waarin zelforganiserende teams bestaande uit verschillende specialisten samenwerken. Uw ervaring is dat je met scrum een project kapot kunt maken?
Als freelance softwareontwikkelaar heb ik in veel bedrijven gewerkt die bij de uitrol van IT-projecten een scrum aanpak hanteerden. Vrijwel overal ging dat precies volgens het boekje. Dus dan heb je daily standups, start- sprint- en refinement meetings. Bij een specifiek project waarbij men scrum toepaste, verliep het hele proces traag en omslachtig. De teamleden werkten vaak een groot deel van de dag aan allerlei subtaken, die ze ook individueel voor hun rekening konden nemen. Scrum hield het team hier gevangen in overbodige en nutteloze procedures. Dat maakte het onmogelijk om gewoon een dag even lekker door te werken.
‘Extreme programming' is een agile aanpak voor softwareontwikkeling. Deze aanpak ligt aan de basis van agile werken zoals we het nu kennen?
Agile staat voor slagvaardig werken. Met extreme programming doe je dat zeker. De teamleden overleggen zittend achter hun laptop of als ze bij de koffiemachine of waterkoeler staan. Tijdrovende vergaderingen zijn taboe. Software wordt hier ontwikkeld in een cyclus van programmeren, evalueren en feedback. De ontwikkelaar krijgt dagelijks enkele keren feedback van de overige teamleden en de gebruikers en past vervolgens de software aan. Hij bouwt wat op dat moment nodig is. Wat hij morgen nodig heeft, bouwt hij morgen. Het team gaat hierover niet oeverloos zitten vergaderen. De software wordt dus voortdurend aangepast en verbeterd, totdat de best werkende code gereed is. Dit is de code die optimaal aansluit op de wensen van de gebruiker. De kracht van deze aanpak is dat ontwikkelaars geen plan hoeven te volgen, of zich aan voorschriften en procedures dienen te houden. Ze hoeven evenmin te wachten op reviews van collega's of op het oordeel van de gebruiker, want die krijgen ze vrijwel direct. Het programmeren is dus een continu proces.
Wanneer verloopt een agile project het beste?
Mijn ervaring is dat je tijdens een agile project de beste resultaten boekt als iedereen zich vrij voelt om een ander vragen te stellen of ergens bij te betrekken. Dat gebeurt gewoon tussen de bedrijven door. Je hebt even een kort gesprek met een of meerdere collega's over het project. Dan is er sprake van open communicatie. Vanuit empowerment dienen teamleden ook vanuit hun eigen expertise zelfstandig beslissingen te kunnen nemen. Ze hoeven hiervoor geen toestemming te vragen aan de manager en die zal daar best moeite mee hebben, want in zijn ogen is hij immers de beslisser. Vanuit een breed gedeelde betrokkenheid focust iedereen ook op het succes van het project. De teamleden hebben ook het volste vertrouwen in elkaar; dit is de belangrijkste succesvoorwaarde voor een agile project.
Goede communicatie is essentieel in een agile team?
Een projectteam functioneert optimaal als de leden elkaar goed kennen. Probeer je projectteam dus als een vriendenclub te zien. Dat gaat gemakkelijker dan je wellicht zou denken. Het is een houding, een informele manier van werken waarin goed communiceren voorop staat. De teamleden dienen daarom dicht bij elkaar te zitten, bij voorkeur aan dezelfde tafel. Ze kunnen dan vanachter het beeldscherm gemakkelijker dingen bespreken en ondertussen doorgaan met hun werk. De deelnemers aan het project leren elkaar zo ook beter kennen en weten sneller wat ze aan elkaar hebben.
Welke rol heeft de manager in een agile project?
Een manager zorgt er idealiter voor dat de teamleden hun werk zo goed mogelijk kunnen doen. Hij is de ‘mogelijkmaker' en zorgt voor budget, werkruimtes en alle benodigde hulpmiddelen. Een team dat gemotiveerd is, met mensen die weten hoe agile werkt en allen producteigenaar zijn, heeft geen directe aansturing nodig. Zo´n team kan dus best zonder projectleider, scrum master of product owner. Men kan wel iemand gebruiken die in de gaten houdt of deze drie rollen worden uitgeoefend. Een goede manager weet welke rollen een team nodig heeft. Als er sprake is van een dip, dan heeft elk team behoefte aan een motivator. Een afmaker is nodig als het team dringend zaken moet afronden. Kan het team creatieve input gebruiken, dan biedt een ´out of the box´ denker nieuwe perspectieven. Als manager breng je mensen met een uiteenlopende achtergrond en deskundigheid bij elkaar. Bij voorkeur zijn ze ook als mens wat verschillend. Een team heeft idealiter een mix van extraverte en introverte types die elkaar aanvullen en respecteren.
Over Peter Spijker
Peter Spijker is freelance journalist. Hij schrijft regelmatig artikelen voor Managementboek.nl