Opschalen van Scrum naar meerdere scrumteams
U bent met uw bedrijf al een tijdje met Scrum bezig en heeft een aantal Scrumteams die goed presteren. U wilt dat ook de andere ontwikkelteams gebruik gaan maken van Scrum. Hoe moet u uw bedrijf (re)organiseren om met meerdere Scrumteams te werken en toch niet in het grote communicatiedrijfzand terecht te komen?
Ieder bedrijf heeft natuurlijk zijn eigen organisatiestructuur en cultuur. Het omschakelen naar een andere organisatiestructuur is relatief eenvoudig. Het veranderen van de bedrijfscultuur is een stuk lastiger. Laten we eerst eens kijken naar de huidige structuur. De kans is groot dat u met Scrum bent begonnen met een klein aantal teams om eerst eens te kijken of Scrum alle beloftes wel waar kan maken. Waarschijnlijk is uw organisatie nog ingedeeld in afdelingen met ieder een eigen functie volgens de traditionele structuur. U heeft een afdeling softwareontwikkeling, een afdeling Sales, Marketing en waarschijnlijk nog wel andere afdelingen. Zoals vele bedrijven bent u begonnen met Scrum op de afdeling softwareontwikkeling. Scrum is immers een softwareontwikkelmethodiek. Na een bepaalde tijd begint Scrum zijn vruchten af te werpen en wilt u uitbreiden naar de rest van de organisatie. Dit is de lastigste stap in de overstap naar Scrum.
Teamindeling
Scrum promoot multidisciplinaire teams. Dat houdt niet alleen in dat er in een team programmeurs, software architecten, grafisch ontwerpers en testers zitten, maar dat kunnen we veel breder trekken. In een scrumteam horen ook marketing-, salesmensen thuis. Wie weet er immers het beste wat de klant van een product wil. Veel eisen en wensen komen juist binnen via het marketing- en saleskanaal.
Bij veel bedrijven begrijpen de ontwikkelafdeling en de salesafdeling elkaar niet. “Die jongens van software vinden alles maar lastig en het duurt allemaal zo lang totdat het klaar is.” en “Die gasten van sales hebben weer van alles aan de klant beloofd.” zijn veelgehoorde uitspraken. Door alle medewerkers van een project in één team te zetten in dezelfde ruimte zal de communicatie veel beter verlopen en zullen deze uitspraken tot het verleden behoren.
Ruimtelijke indeling
De meeste bedrijven werken tegenwoordig op projectbasis. Een Scrumteam is in feite niet veel anders dan een projectteam. Om Scrum ten volste te benutten is het wel aangeraden om een team langere tijd (over meerdere projecten) als team te laten bestaan. De communicatie zal steeds beter worden en de productiviteit wordt hoger naarmate een team langer samenwerkt. De de projectstructuur is het goed mogelijk om zoveel mogelijk ieder team een eigen kamer te geven waar alle teamleden (dus ook sales, operations en marketing) bij elkaar zitten. In veel gevallen zullen een sales- of marketingmensen op meerdere projecten tegelijk werken. Het is dan verstandig om deze mensen zo dicht mogelijk bij de rest van de teamleden te plaatsen zodat ‘even snel binnenlopen’ goed mogelijk blijft.
Scrum van Scrums
Natuurlijk zijn alle teamleden iedere dag bij de daily-scrums aanwezig, maar als er veel scrumteams zijn is het soms lastig om de onderlinge communicatie efficient te laten verlopen. Vooral als er veel teams zijn die nauw moeten samenwerken aan één project of aan sterk gerelateerde projecten. Het is gebruikelijk om een zogenaamde Scrum van Scrums te houden. Dit is een periodieke Scrum meeting (liefst ook dagelijks, maar drie keer per week volstaat vaak ook) waarbij minimaal de Scrum Masters van alle betrokken teams aanwezig zijn en elkaar dezelfde vragen stellen als bij de gebruikelijke daily-scrums:
– Wat heeft het team gedaan sinds de laatste Scrum van Scrums meeting?
– Wat gaat het team doen tot de volgende Scrum van Scrums meeting?
– Heeft het team obstakels waardoor de voortgang in gevaar kan komen?
Net als een gewone daily-scrum is het aantal mensen beperkt. Een daily-scrum met meer dan 10 actieve deelnemers (het aantal toeschouwers is onbeperkt, zolang ze zich niet in de meeting mengen) is onhandig en is lastig om binnen de tijdbox van 15 minuten te doen. Als er dus meer dan 10 scrumteams zijn wordt ook een Scrum van Scrums te druk. De eerste oplossing is dan om meerdere verschillende Scrum van Scrums te houden. Veelal zijn niet alle projecten dusdanig gerelateerd dat alle teams overal aanwezig moeten zijn. Het kan handig zijn om één persoon (vaak genoemd de APM, Agile Program Manager) verantwoordelijk te stellen voor het beheersen van alle projecten. Deze persoon is aanwezig bij alle Scrum van Scrums voor zijn of haar projecten. Een tweede oplossing voor nog grotere aantallen teams en projecten kan zijn een Scrum van Scrums van Scrums. Hierbij komen alle aangewezen APM’s periodiek bij elkaar om op nog hoger niveau de projecten te bespreken.
De basisstructuur van alle Scrum meetings moet altijd zijn:
– Zet een tijdlimiet (standaard 15 minuten)
– Stel elkaar de drie basisvragen
– Als er discussies dreigen te ontstaan waardoor de tijdlimiet in gevaar komt, breek de dsicussie dan af en spreek af deze discussie (zo snel mogelijk) na de Scrum meeting met alleen de betrokken personen voort te zetten.
Voor meer informatie over Scrum in grotere organisaties:
http://www.scrumalliance.org/community/articles/2012/march/running-the-scrum-of-scrums-agile-program-manageme
http://www.netobjectives.com/blogs/scaling-scrum-what-works