Allereerst, wat is Scrum?
Scrum is een framework voor het ontwikkelen van software. Het is een vorm van Agile softwareontwikkeling. Agile werken is een manier van denken waar behendigheid en wendbaarheid centraal staat. Niet het management bepaalt wat er wanneer is af, maar het team zelf. Bij Scrum werk je in sprints van twee weken waarbij het team van tevoren plant wat ze af kunnen krijgen.
Waar staat de term Scrum voor?
In tegenstelling tot wat je zou verwachten is het geen afkorting. Scrum is een term afkomstig uit de rugby wereld. Het is gebaseerd op een ritueel als er in het rugby een fout is geweest en de bal terug het veld in moet. Beide teams staan tegenover elkaar en met het team moeten ze proberen de bal terug te krijgen. Scrum staat dus eigenlijk voor teamwork, iets wat centraal staat in deze methode.
Wat vind je het grootste voordeel aan werken met Scrum?
De kern van Scrum vind ik het grootste voordeel: de behendigheid. De kracht van Scrum is dat je voor twee weken een planning maakt. Natuurlijk maak je ook een globale planning, maar die kun je steeds aanpassen. Die twee weken zijn heilig, daar kom je niet aan. Daardoor kunnen de Developers zich focussen op het werk. Daarnaast kan je door Scrum als organisatie makkelijker wijzigen van route. Elke twee weken bekijk je of het nog de kant op gaat die je wilt en geef je feedback. Voor een bedrijf als JEX is dat enorm belangrijk. Zo kun je als IT-afdeling namelijk mee in de snelle groei van het bedrijf.
Welke rollen zijn er binnen het Scrum team?
In Scrum heb je drie rollen: een Scrum Master, een Product Owner en een Developer. De Scrum master bewaakt het proces en zorgt ervoor dat het team optimaal kan presteren. Bij JEX hebben we nog geen Scrum Master, maar vervult een Lead Developer deze rol.
De Product Owner draagt verantwoordelijkheid voor het product en houdt contact met de verschillende stakeholders in de organisatie. De Product Owner haalt wensen op vanuit de organisatie en zet deze op een lijst in volgorde van prioriteit. Deze lijst wordt in Scrum de back-log genoemd.
Tot slot zijn er de Developers. Die term is een beetje verwarrend, want hier wordt niet een Software Developer bedoeld. In dit geval is een Developer iemand die het project kan uitvoeren. Dit kan dus ook een Copywriter of UX Designer zijn, afhankelijk van het project en het team.
Buiten het Scrum team heb je ook nog de stakeholders, zoals het management en de mensen die binnen de organisatie met de producten werken.
Wat zijn de vaste onderdelen van een sprint?
Een sprint is altijd twee weken. De sprint begint met de planning. Tijdens de planning bekijkt het team welke items ze mee kunnen nemen in de sprint. Hierbij volgen ze de volgorde van de back-log van boven naar beneden. De prioriteit van de items is door de Product Owner vastgelegd op basis van de behoeften van de stakeholders. Nadat het team heeft gepland welke items ze oppakken binnen een sprint geven ze hun commitment en starten ze de sprint. Elke dag is er een daily stand-up van maximaal een kwartier om de voortgang te bespreken. Aan het einde van de sprint heb je de sprint review. Dat is een demonstratie aan alle stakeholders. Tijdens de review laat je als team zien wat je hebt gedaan in de sprint. Ook is dit voor de stakeholders het moment om bij te sturen en feedback te geven. Na de review is de retrospective. Dat is de laatste sessie van de sprint. Als team kijk je terug op de sprint wat er goed en minder goed ging.
Tussendoor kunnen er refinements ingepland worden. Die horen officieel niet bij Scrum, maar veel bedrijven doen dat wel. Deze refinements worden ingepland naar behoefte. Hierin bespreek je de back-log en welke items aangevuld moeten worden. Als back-log items goed uitgewerkt zijn, komen refinements minder vaak voor.
Hoe bepaal je welke items het team oppakt in een sprint?
Dat doen we door middel van planning poker. Bij planning poker heeft iedereen kaartjes met punten erop. Je hebt: 0, 0,5, 1, 2, 3, 5, 8, 13, 20, 40 en 100. Deze punten staan voor de complexiteit van een item. Dus hoe meer punten, hoe complexer een item. Bij het pokeren pak je een item van de back-log erbij en kiest iedereen een kaartje met het bijbehorende nummer die de complexiteit aangeeft. Dat kaartje wordt ondersteboven op tafel gelegd om elkaar niet te beïnvloeden. Tegelijkertijd worden de kaartjes omgedraaid en begint de discussie. De mensen die het laagst en hoogst aantal punten hebben gegeven krijgen dan de kans om uit te leggen waarom ze dit hebben gedaan. Zo krijg je interessante discussies met punten waar andere mensen mogelijk niet aan gedacht hebben. Zo kan een item ineens complexer lijken dan in eerste instantie gedacht. Na een gezonde discussie doe je een tweede ronde voor hetzelfde item. Vaak zie je dat de punten dichter bij elkaar liggen. Het streven is om consensus te bereiken over het aantal punten dat een item heeft.
Hoeveel punten kan een team in een sprint oppakken?
Dat is niet te zeggen. Het ligt allereerst aan het aantal personen en aan het team. Elk team geeft namelijk een andere complexiteit aan punten. In het begin is het vooral zoeken naar hoeveel punten je kan oppakken in een sprint, omdat dit vaak nog niet duidelijk is. Hoe meer sprints je doet, hoe beter je hierin wordt als team. Komt iets niet af in een sprint? Dan is het nooit iets om een team op af te straffen. Het is een leermoment. Je bespreekt daarna waar het fout is gegaan en hoe dat beter kan. Maar omdat elk team een andere schaal heeft, is het niet met elkaar te vergelijken. Dat hoeft ook niet, want het gaat uiteindelijk om hoe het team zijn productiviteit kan voorspellen.
Wanneer is een item af in een sprint?
Het team bepaalt met elkaar wanneer zij vinden dat een item af is: de definition of done. Daar kunnen verschillende dingen onder vallen, bijvoorbeeld dat een item getest moet zijn door iemand, dat een collega naar de code heeft gekeken (code review) of dat de Product Owner naar het eindresultaat heeft gekeken. Het is sowieso ontzettend belangrijk dat er getest wordt of dingen werken. Alleen als iets getest en goedgekeurd is kan het door. Pas als alle items van de sprint af zijn, inclusief test, is de sprint klaar.
Wat is het meeste wennen voor mensen die nooit met Scrum hebben gewerkt?
Als je nog nooit met een Agile methode hebt gewerkt zal het onvoorspelbare het meeste wennen zijn. Het is een wendbare omgeving. Ook kan het puntensysteem in het begin erg moeilijk te bevatten zijn. Daarnaast is communicatie een belangrijk onderdeel en natuurlijke de meerdere meetings die je hebt. Wat mij betreft zijn dit allemaal voordelen en op de lange termijn werk je er als team alleen maar beter door. Je bent constant in beweging om het product beter te maken met je team.
JEX