Development

Software-ontwikkeling

Hyperproductieve Scrum-teams

25 januari 2013

Scrum belooft werkende software die elke twee weken live kan gaan, die gebruikers blij maakt en snel waarde toevoegt. Klinkt goed. Mooie belofte, maar wordt die ook waargemaakt? Ja, het kan. In theorie is het mogelijk. Hyperproductiviteit is met Scrum te realiseren. Maar: het is niet eenvoudig. Veel teams worstelen ermee en slagen er niet in. In de praktijk zien we dat het grofweg slechts één op de tien teams lukt om hyperproductief te zijn.

Een van de redenen is dat veel teams Scrum slechts half toepassen. Scrum belooft hyperproductiviteit door vier randvoorwaarden te realiseren. Iedere voorwaarde levert een minimale productiviteitsverdubbeling. Door deze vier zaken te regelen, ligt een vertienvoudiging voor het oprapen en is een vertwintigvoudiging niet onrealistisch. De belofte is in theorie terecht. Hyperproductiviteit vraagt dan wel om Scrum binnen deze vier randvoorwaarden te implementeren.

De praktijk laat zien dat veel bedrijven deze noodzakelijke randvoorwaarden niet kunnen of willen doorvoeren. Dat de beloofde productiviteitsverhoging niet wordt gerealiseerd, is dan niet vreemd. Ook de Scrum-teams zelf kunnen veel doen. ‘Echte’ teams ontstaan namelijk niet vanzelf. Hiervoor zijn concrete acties nodig (zie kader ‘Scrum-teams’).

Er bestaan geen makkelijke oplossingen voor hyperproductiviteit. Wie mooi wil zijn, moet pijn lijden. Scrum lijkt simpel op het eerste gezicht, maar is in de praktijk gewoon moeilijk. Er moet gewerkt worden aan vier randvoorwaarden en de teams moeten veel zelf doen. Maar dan ligt de productiviteit ook voor het oprapen.

Randvoorwaarden

1. Maak de meeste waarde eerst
Lever in een sprint alleen die software die de hoogste waarde heeft. Daartoe schrijft Scrum een enkele ‘product owner’ voor die deze waarde kent en keuzes maakt. Hierdoor zijn teams eerder klaar en kunnen sneller met ander werk starten. Dit zal de productiviteit van veel teams al snel verdubbelen. In de praktijk zien we echter veel organisaties worstelen met deze rol van product owner. In veel gevallen is er geen product owner of deze persoon heeft veel te weinig tijd of mag geen keuzes maken. Door niet effectief op waarde te prioriteren wordt de eerste stap naar hyperproductiviteit dan niet gerealiseerd.

2. Doe alleen haalbaar werk
Aangezien Scrum-teams elke twee weken werkende software moeten opleveren, is het noodzakelijk dat ze alleen werk oppakken dat ook echt afgemaakt kan worden. Het team werkt alleen aan dat wat af kan komen en veel waarde heeft. Hierdoor wordt de productiviteit al snel twee keer zo hoog. Om dit te realiseren werken Scrum-teams met een lijst van criteria waarop staat of werk helder genoeg is. Deze lijst noemt men de ‘Definition-of-Ready’ (DoR). In de praktijk zien we echter veel teams grote delen werk oppakken dat nog niet helder is. Veel teams werken niet met een Definition-of-Ready of houden zich er niet aan. De kans dat de software aan het eind van elke sprint ‘af’ is, wordt daardoor veel kleiner. De tweede stap om hyperproductiviteit te realiseren wordt hierdoor niet ingevuld.

3. Maak werk echt af
Zorg dat elke sprint werkende en geteste software oplevert die naar eindgebruikers toe kan. Rework wordt hierdoor voorkomen, bugs worden veel sneller gevonden en opgelost, en bijsturen wordt mogelijk. Tegelijkertijd is het een behoorlijke ingreep voor ontwikkelteams. Immers, testen mag niet worden uitgesteld maar moet binnen elke sprint worden gedaan. Dat vraagt om een andere test-mindset. Functionele testautomatisering en waar mogelijk automatische integratie zijn nodig. Om software ook echt af te maken, werken Scrum-teams met een lijst van criteria waarop staat wanneer software echt ‘af’ is. Deze lijst heet de ‘Definition-of-Done’ (DoD). In de praktijk zien we veel teams met Scrum werken, maar niet elke sprint levert werkende en geteste software op. Er is geen Definition-of-Done of zij wordt niet nagekomen. De derde stap naar hyperproductiviteit wordt daardoor genegeerd.

4. Word steeds beter
Het idee van Scrum is om elke sprint te leren en daardoor steeds beter te worden. Stabiele teams die elke sprint beter worden, zorgen minimaal voor een productiviteitsverdubbeling. Veel organisaties vinden het echter erg lastig om teams stabiel te houden. Het frequent wisselen van mensen over teams maakt deze teams juist langzamer. Bovendien is het ‘beter worden’ voor veel teams lastig doordat de grootste belemmeringen om hyperproductief te worden vaak buiten het team liggen (testomgevingen, toegang tot gebruikers, heldere businesswaarde). Het management heeft nog onvoldoende door dat het zijn taak is om de teams te helpen deze belemmeringen weg te nemen. Daarmee wordt de vierde stap om hyperproductiviteit te realiseren geëlimineerd.

Hoe worden Scrum-teams high performing?

  1. Bouw expliciet aan het team
    Een groep mensen is niet hetzelfde als een team. Om van een groep mensen een Scrum-team te maken is een inspanning nodig en commitment: van het team zelf, maar ook van het management. Om dit mogelijk te maken moeten er gezamenlijke doelen zijn, het team moet niet te groot zijn (5 à 9 teamleden) en er moeten ook buiten werktijd activiteiten worden gedaan.
  2. Werk aan vertrouwen
    Vertrouwen ontstaat niet vanzelf. Vertrouwen hebben in de kwaliteiten en karaktertrekken van teamleden is geen gegeven, hier moet aan gewerkt worden. Het verhogen van het vertrouwen in elkaar kan worden gestimuleerd door het management. Bijvoorbeeld door grote ego’s niet in een Scrum-team te accepteren, door een ‘iedereen is gelijk’-beleid te voeren en door een open en transparante cultuur te ontwikkelen. Men moet niet bang zijn om zijn eigen mening te geven.
  3. Leer omgaan met conflicten
    Positieve feedback geven en ontvangen is makkelijker dan negatieve, want dit kan conflicten veroorzaken. Maar van ‘negatieve’ feedback kan men leren en is daarom net zo belangrijk. Ook van conflicten wordt een Scrum-team sterker. Elk bedrijf of team moet zorgen voor momenten waarbij iedereen beide soorten feedback geeft.
  4. Breng focus op resultaat aan
    De vanzelfsprekendheid dat iedereen weet wat er verwacht wordt, is niet terecht. Constante focus is juist daardoor lastig te bewaren. Door te werken in sprints met een haalbaar resultaat, door dit resultaat te vieren, door retrospectives te houden en door Scrum-teams verantwoordelijk te maken voor resultaten, kan deze focus worden versterkt.
  5. Stuur op gedrevenheid en energie
    Energie en gedrevenheid zijn van invloed op de productiviteit en effectiviteit, maar niet ieder teamlid beschikt hierover of is zich hiervan bewust. Zorg voor genoeg pauzemomenten, dagelijks en maandelijks, meet het ‘geluk’ van de Scrum-teamleden (meet expliciet hoe ‘happy’ men is, en bedenk hoe dit is te bevorderen). Of geef mensen de vrijheid om regelmatig te werken aan hun passie. Bijvoorbeeld door één keer per kwartaal een dag in te roosteren waarop men (weliswaar op het werk) mag doen wat men wil.
  6. Een hoger liggend doel is noodzakelijk
    Een hoger doel zorgt ervoor dat de leden van een Scrum-team ’s morgens enthousiast opstaan om naar hun werk te gaan, het zorgt ervoor dat zij met passie werken, dat zij zich richten op resultaat en dat alle gesprekken (ook de moeilijke) worden gevoerd. Als dit hoger liggende doel wordt gedeeld (in het team), ontstaat het vertrouwen dat iedereen alles doet om het beste te realiseren. Zorg ervoor dat iedereen het doel kent, gebruik het bij het maken van keuzes en wees bereid om veel te verliezen omwille van de verdediging of verspreiding ervan. Hierdoor worden niet alleen sportteams een team, maar ook Scrum-teams.
 
Lees het hele artikel
Je kunt dit artikel lezen nadat je bent ingelogd. Ben je nieuw bij AG Connect, registreer je dan gratis!

Login

Registreren

  • Direct toegang tot AGConnect.nl
  • Dagelijks een AGConnect nieuwsbrief
  • 30 dagen onbeperkte toegang tot AGConnect.nl

Ben je abonnee, maar heb je nog geen account? Activeer dan nu je account!