Efficiënte samenwerking met Scrum

Je hebt er vast vaak van gehoord: scrum. In rugby is een ‘scrum’ het moment na een fout waarop de bal wordt teruggebracht in het spel en acht spelers van elk team in nauwe formatie samenwerken om deze te bemachtigen. In softwareontwikkeling is deze term overgenomen in het streven naar perfect efficiënte samenwerking met snel resultaat. In dit artikel leggen we uit wat Scrum precies inhoudt.

Met de opkomst van computers en softwareontwikkeling in de vorige eeuw werden teams wereldwijd geconfronteerd met de complexiteit van IT-projecten. Hoe faciliteer je perfecte communicatie en gedeelde visie tussen de opdrachtgever en de uitvoerder? Hoe werken developers efficiënt samen aan een product waar de eindgebruiker tevreden mee is? Als antwoord op die vragen is de Scrum-methode ontstaan.

Het Scrum-team

Qua rollen ligt in Scrum de focus op het uitvoerende team: het Scrum-team, bestaande uit drie tot negen leden. Binnen het Scrum-team heb je (1) de producteigenaar, die de communicatie verzorgt tussen het Scrum-team en de opdrachtgever; (2) het ontwikkelingsteam, dat alles bouwt; en (3) de Scrum master, die de efficiëntie van het Scrum-team overziet en de Scrum-filosofie bewaakt.

De kern van Scrum: sprints

In Scrum werkt het team in zogenaamde ‘sprints’: periodes van één tot vier weken waarin functionaliteit wordt opgeleverd.

1. Voorbereiding

Samen met de opdrachtgever identificeert de producteigenaar wat er allemaal moet gebeuren en deelt dit op in hapklare taken. Deze taken komen in de ‘backlog’: een lijst met alles dat nog moet gebeuren.

2. Sprint planning

Aan het begin van de sprint komen het Scrum-team en de opdrachtgever (en eventuele andere betrokkenen) samen om te bepalen wat er deze sprint moet gebeuren. Uit de backlog worden taken uitgekozen die het ontwikkelingsteam deze sprint uitvoert.

3. Dagelijkse Scrums

Tijdens de sprint (van één tot vier weken) begint elke dag met de ‘dagelijkse Scrum’, een korte meeting binnen het Scrum-team om te evalueren wat gisteren is gebeurd en wat er vandaag gedaan wordt. Zo blijft iedereen op één lijn.

4. Oplevering

Aan het einde van de sprint presenteert het Scrum-team de opgeleverde functionaliteit aan de opdrachtgever. Dit is een volledig functioneel (deel)product, waarmee de eindgebruiker direct aan de slag kan. Nu kan eventueel ook meteen een nieuwe sprint worden opgezet.

5. Review

Ter afsluiting heeft het Scrum-team een terugblik waarin zij evalueren hoe de sprint is gegaan. De Scrum master definieert hierbij wat bij de volgende sprint verbeterd kan worden, zodat hier met het team aan kan worden gewerkt.

Het doel is om op deze manier zo efficiënt mogelijk samen te werken met alle betrokkenen en snel resultaat te behalen. Door steeds snel nieuwe functionaliteit op te leveren, kan de eindgebruiker daar meteen mee aan de slag. Dat levert dan ook weer nieuwe feedback op die snel kan worden opgepakt.

Kanban board

De Scrum-methode wordt vaak toegepast in combinatie met een Japanse uitvinding, het ‘Kanban-board’. Op het Kanban-board houdt het team duidelijk overzicht van welke taken zich waar in het proces bevinden.

In principe bestaat het Kanban board uit vijf kolommen. Dit zijn (1) de backlog, taken die in een toekomstige sprint moeten gebeuren; (2) ‘to do’, taken die in de huidige sprint moeten worden opgepakt; (3) ‘in progress’, taken waar op dit moment aan wordt gebouwd; (4) ‘testing’, taken die zijn gebouwd en nu worden getest; en (5) ‘done’, taken die succesvol zijn getest.

‘Agile development’

De algehele filosofie van snelle oplevering en optimale communicatie tussen alle betrokkenen in softwareontwikkeling wordt ook wel ‘agile development’ genoemd, oftewel ‘rappe/behendige ontwikkeling’. Scrum en Kanban vallen daaronder.

Om ultieme transparantie en efficiëntie in software-development te bereiken, helpt de ‘agile development’-filosofie goed. Zo weet je als opdrachtgever altijd waar je team mee bezig is, wanneer het af is en hoe de uren worden besteed. Wel zo handig!


Terug naar de blog