Wat is scrum en hoe begin ik eraan?
Scrumhandleiding - Wat is het, hoe werkt het en hoe begin ik eraan?
Onderwerpen zoeken
Ga gratis aan de slag met de Jira scrum-sjabloon
Stroomlijn je project en plan, volg en beheer eenvoudig werk in verschillende sprints. Het scrum-sjabloon van Jira bevat borden, backlogs, roadmaps, rapporten en nog veel meer!
Wat is scrum?
Scrum is een agile-structuur voor projectbeheer waarmee teams hun werk kunnen structureren en beheren op basis van een reeks waarden, principes en praktijken. Net als een rugbyteam (waar de naam Scrum van is afgeleid) dat traint voor een belangrijke wedstrijd, kunnen teams scrum gebruiken om door ervaring te leren, zelf te organiseren terwijl ze aan een probleem werken en na te denken over hun successen en fouten om zichzelf voortdurend te verbeteren.
Hoewel de scrum waar ik het over heb meestal wordt gebruikt door softwareontwikkelingsteams, kunnen de principes en lessen worden gebruikt voor allerlei soorten teamwork. Dit is een van de redenen waarom scrum zo populair is. Scrum wordt vaak gezien als een agile framework voor projectmanagement en omvat een reeks vergaderingen, tools en rollen waarmee teams hun werk kunnen structureren en beheren.
In dit artikel bespreken we hoe een traditioneel scrum-kader is samengesteld met behulp van de Scrum-handleiding en David West, CEO van Scrum.org. We geven ook voorbeelden van hoe we onze klanten zien afwijken van deze basisprincipes om aan hun specifieke behoeften te voldoen. Daarvoor geeft onze eigen Megan Cook, Head of Product voor Jira en voormalig agile coach, tips en trucs in onze Agile Coach-videoserie:
Scrum-artikelen
Van silo naar cohesie met Jira scrumborden
Het Jira-scrumbord is de visuele weergave van de voortgang tijdens de ontwikkelingscyclus.
Probeer het gratisAgile vs. scrum
Mensen denken vaak dat Scrum en Agile hetzelfde zijn omdat Scrum gericht is op continue verbetering, wat een kernprincipe is van Agile. Scrum is echter een structuur om werk gedaan te krijgen, terwijl agile een filosofie is. De agile-filosofie draait om continue incrementele verbetering door middel van kleine en frequente releases. Je kunt zelf niet echt 'agile gaan', want het vereist toewijding van het hele team om de manier waarop ze denken te veranderen om waarde te leveren aan je klanten. Maar je kunt wel een structuur zoals Scrum gebruiken om je te helpen zo te gaan denken en om te oefenen met het ontwikkelen van agile-principes in je dagelijkse communicatie en werk.
Je kunt het verschil tussen agile en de definitie van scrum vinden in de Scrum Guide en het Agile-manifest. Het Agile-manifest schetst vier waarden:
- Individuen en interacties boven processen en tools
- Werkende software boven uitgebreide documentatie
- Samenwerken met klanten boven contractonderhandelingen
- Reageren op veranderingen boven het volgen van een plan
De definitie van scrum is gebaseerd op empirisme en lean thinking. Empirisme zegt dat kennis voortkomt uit ervaring en dat beslissingen worden genomen op basis van wat er wordt waargenomen. Lean thinking vermindert verspilling en richt zich op essentiële zaken. Het scrumframework is heuristisch: het is gebaseerd op continu leren en aanpassen aan veranderende factoren. Het erkent dat het team aan het begin van een project niet alles weet en zich door ervaring zal ontwikkelen. De structuur van scrum is bedoeld om teams te helpen zich op natuurlijke wijze aan te passen aan veranderende omstandigheden en gebruikersvereisten. Het stellen van nieuwe prioriteiten is ingebouwd in het proces, evenals korte releasecycli, zodat je team voortdurend kan leren en verbeteren.
Hoewel scrum gestructureerd is, staat niet alles vast. De uitvoering ervan kan worden afgestemd op de behoeften van elke organisatie. Er zijn veel theorieën over hoe scrumteams precies moeten werken om succesvol te zijn. Nu we echter al meer dan tien jaar agile teams helpen om werk gedaan te krijgen bij Atlassian, hebben we geleerd dat duidelijke communicatie, transparantie en inzet voor voortdurende verbetering altijd centraal moeten blijven staan bij elk framework dat je kiest. En de rest is aan jou.
Het scrumframework
Het scrum-framework beschrijft een reeks waarden, principes en werkwijzen waar scrum-teams mee werken om een product of service te leveren. Het beschrijft de leden van een scrum-team en hun verantwoordelijkheden, ‘artefacten’ die het product en het werk om het product aan te maken definiëren en scrum-ceremonieën die het scrum-team bij het werk begeleiden.
Leden van een scrum-team
Een scrumteam is een klein en flexibel team dat zich toelegt op het afronden van speciale productstappen. Een scrumteam is doorgaans klein en bestaat uit ongeveer tien personen, maar het is groot genoeg om binnen een sprint een aanzienlijke hoeveelheid werk te voltooien. Een scrumteam heeft drie specifieke rollen nodig: een producteigenaar, een scrummaster en het ontwikkelingsteam. En omdat scrumteams bestaan uit mensen met meerdere functies, omvat het ontwikkelingsteam naast ontwikkelaars ook testers, ontwerpers, UX-specialisten en ops-engineers.
De scrumproducteigenaar
Producteigenaren zijn de aanprijzers van hun product. Ze zijn gericht op het begrijpen van zakelijke, klant- en marktvereisten en geven vervolgens prioriteit aan het werk dat door het engineeringteam moet worden gedaan. Effectieve producteigenaren:
- Bouwen en beheren de productbacklog.
- Werken nauw samen met het bedrijf en het team om ervoor te zorgen dat iedereen de items in de productbacklog begrijpt.
- Bieden het team duidelijke begeleiding over welke functies moeten worden geleverd.
-
Bepalen wanneer het product moet worden geleverd, liefst zo frequent mogelijk.
De producteigenaar is niet altijd de productbeheerder. Producteigenaren zorgen ervoor dat het ontwikkelingsteam de meeste waarde aan het bedrijf levert. Het is ook belangrijk dat de producteigenaar een individu is. Geen enkel ontwikkelingsteam wil gemengde begeleiding van meerdere producteigenaren.
De scrummaster
Scrummasters zijn de aanprijzers van scrum binnen hun teams. Ze coachen teams, producteigenaren en het bedrijf in het scrum-proces en zoeken naar manieren om de uitvoering hiervan te verfijnen.
Een effectieve scrummaster heeft diep inzicht in het werk dat door het team wordt gedaan en kan het team helpen hun transparantie en leveringsstroom te optimaliseren. Als hoofdbegeleider plant hij/zij de benodigde middelen (zowel personen als logistiek) voor de sprintplanning, stand-up, sprintreview en de sprintretrospectieve.
Het scrum-ontwikkelingsteam
Scrum-teams zorgen ervoor dat werkzaamheden worden voltooid. Zij zijn de aanprijzers van duurzame ontwikkelingswerkwijzen. De meest effectieve scrum-teams zijn klein, bevinden zich op één locatie en bestaan uit vijf tot zeven personen. Een manier om de teamgrootte te bepalen is door de beroemde ‘twee pizza-regel’ te gebruiken, die bedacht is door Jeff Bezos, de CEO van Amazon (het team moet klein genoeg zijn om twee pizza’s te delen).
Teamleden hebben verschillende vaardigheden en trainen elkaar zodat niemand een knelpunt wordt in de levering van werk. Sterke scrum-teams organiseren zichzelf en benaderen hun projecten met een duidelijke ‘wij’-houding. Alle leden van het team helpen elkaar om ervoor te zorgen dat de sprint met succes wordt voltooid.
Het scrumteam bepaalt het plan voor elke sprint. Ze voorspellen hoeveel werk ze denken te kunnen voltooien aan de hand van hun snelheid in het verleden. Door de lengte van de iteratie steeds hetzelfde te houden, profiteert het ontwikkelingsteam van belangrijke feedback op het schattings- en leveringsproces, waardoor hun prognoses in de loop van de tijd steeds nauwkeuriger worden.
Scrum artefacten
Scrum-artefacten zijn belangrijke informatie die door het scrumteam wordt gebruikt en die helpt bij het definiëren van het product en het werk dat gedaan moet worden om het product te maken. Er zijn drie artefacten in Scrum: de productbacklog, de sprintbacklog en de stap met jouw definitie van 'voltooid'. Het zijn de drie constanten waar een scrumteam tijdens sprints en na verloop van tijd op moet letten.
- De productbacklog is de primaire lijst met werkzaamheden die moeten worden uitgevoerd en onderhouden door de producteigenaar of productmanager. Dit is een dynamische lijst met functies, vereisten, verbeteringen en oplossingen die fungeren als input voor de sprintbacklog. Het is in wezen de takenlijst van het team. De productbacklog wordt voortdurend opnieuw bekeken, opnieuw geprioriteerd en onderhouden door de producteigenaar, omdat, naarmate we meer leren of de markt verandert, items mogelijk niet langer relevant zijn of problemen op andere manieren kunnen worden opgelost.
- De sprintbacklog is de lijst met items, userstory's of bugfixes die door het ontwikkelingsteam zijn geselecteerd voor implementatie in de huidige sprintcyclus. Vóór elke sprint, tijdens de sprintplanningmeeting (die we later in het artikel bespreken) kiest het team aan welke items uit de productbacklog het zal werken tijdens de sprint. Een sprintbacklog kan flexibel zijn en kan veranderen tijdens een sprint. Het fundamentele doel van de sprint, dus wat het team wil bereiken met de huidige sprint, kan echter niet worden aangepast.
- Het Increment of sprintdoel is het bruikbare eindproduct van een sprint. Bij Atlassian laten we het increment meestal zien tijdens de einddemonstratie, waarbij het team laat zien wat er in de sprint is voltooid. Het woord 'increment' heb je misschien nog niet eerder gehoord; het wordt vaak gebruikt door het team om aan te geven dat een mijlpaal is behaald, of zelfs dat het sprintdoel of een volledige versie van een verstuurde epic is voltooid. Het hangt er helemaal vanaf hoe je teams 'Voltooid' definiëren en hoe je je sprintdoelen definieert. Sommige teams kiezen er bijvoorbeeld voor om aan het einde van elke sprint iets aan hun klanten te leveren. Hun definitie van 'voltooid' is dus 'verstuurd'. Dit is echter misschien niet realistisch als het gaat om andere teams. Stel dat je werkt aan een servergebaseerd product dat elk kwartaal naar je klanten kan worden gestuurd. Je kunt er nog steeds voor kiezen om in sprints van 2 weken te werken, maar je definitie van 'voltooid' is dan eerder een onderdeel van een grotere versie die je in zijn geheel wilt verzenden. Maar let op, hoe langer het duurt om software te voltooien, hoe groter het risico dat de software te laat geleverd wordt.
Zoals je kunt zien, zijn er veel variaties, zelfs binnen artefacten, die je team zelf kan definiëren. Daarom is het belangrijk om open te staan voor veranderingen in het bijhouden van die artefacten. Misschien zorgt je definitie van 'voltooid' juist voor meer stress bij je team en moet je pas op de plaats maken en een nieuwe definitie kiezen.
Je moet net zo agile zijn met je framework als met je product. Neem de tijd die nodig is om na te gaan hoe de dingen gaan en indien nodig aanpassingen aan te brengen. Forceer iets niet alleen omdat het dan consistenter is.
Scrumceremonies of -evenementen
Het scrumframework bevat scrumwerkwijzen, ceremonies en bijeenkomsten die scrumteams regelmatig uitvoeren. Bij de agile ceremonies zien we de meeste verschillen tussen teams. Sommige teams vinden het bijvoorbeeld omslachtig en onnodig om al deze ceremonies te houden, terwijl anderen ze gebruiken als noodzakelijke check-in. Ons advies is om alle ceremonies tijdens de eerste twee sprints te gebruiken en te zien hoe het gaat. Je kunt dan snel een retro uitvoeren en kijken wat je kunt veranderen.
Hieronder vind je een lijst van alle belangrijke ceremonies waar een scrumteam aan zou kunnen deelnemen:
-
Organiseer de backlog: Dit evenement heet ook wel backlog grooming en is de verantwoordelijkheid van de producteigenaar. De belangrijkste taken van de producteigenaar zijn om het product te sturen volgens de productvisie en een constante vinger aan de pols te hebben bij de markt en de klant. Daarom onderhoudt hij/zij deze lijst met behulp van feedback van gebruikers en het ontwikkelingsteam om prioriteiten te stellen en de lijst opgeruimd en op orde te houden om er op elk gewenst moment aan te kunnen werken. Lees hier meer over het onderhouden van een gezonde backlog.
-
Sprintplanning: het werk dat moet worden uitgevoerd (scope) tijdens de huidige sprint wordt tijdens deze vergadering gepland door het hele ontwikkelteam. Deze vergadering wordt geleid door de scrummaster en het team beslist over het doel van de sprint. Vanuit de productbacklog worden vervolgens specifieke userstory's aan de sprint toegevoegd. Deze story's komen altijd overeen met het doel en het scrumteam is het er ook over eens dat ze haalbaar zijn om te implementeren tijdens de sprint.
Aan het einde van de planningsvergadering moet elk scrumlid duidelijk weten wat er in de sprint kan worden geleverd en hoe de veranderingen kunnen worden gerealiseerd. -
Sprint: Een sprint is de werkelijke tijdsperiode waarin het scrumteam samenwerkt om een increment te voltooien. Twee weken is een vrij standaard lengte voor een sprint, hoewel sommige teams vinden dat een week makkelijker is of juist een maand nodig hebben om een waardevol increment te voltooien. Dave West, van Scrum.org adviseert dat hoe complexer het werk en hoe meer onbekende factoren, hoe korter de sprint zou moeten zijn. Maar je team bepaalt, en je moet niet bang zijn om te veranderen als iets niet werkt! Gedurende deze periode kan het bereik indien nodig opnieuw worden bepaald in overleg met de producteigenaar en het ontwikkelingsteam. Dit vormt de kern van de empirische aard van scrum.
Alle evenementen, van planning tot retrospective, vinden plaats tijdens de sprint. Zodra een bepaald tijdsinterval voor een sprint is vastgesteld, moet deze gedurende de ontwikkelingsperiode consistent blijven. Dit helpt het team om te leren van ervaringen uit het verleden en dat inzicht toe te passen op toekomstige sprints. -
Dagelijkse scrum of stand-up: Dit is een dagelijkse, superkorte vergadering die steeds op hetzelfde tijdstip (meestal 's ochtends) en op dezelfde plek plaatsvindt en zo eenvoudig mogelijk is. Veel teams proberen de vergadering binnen 15 minuten af te ronden, maar dat is slechts een richtlijn. Deze vergadering wordt ook wel een 'dagelijkse stand-up' genoemd, waarin wordt benadrukt dat het kort moet zijn. Het doel van de dagelijkse scrum is dat iedereen in het team weet waar ze aan toe zijn, wat het sprintdoel is, en wat het plan is voor de komende 24 uur.
De stand-up is het moment om eventuele zorgen over het behalen van het sprintdoel of blockers te uiten.
Een gebruikelijke manier om een stand-up te houden is door elk teamlid drie vragen te stellen in het kader van het bereiken van het sprintdoel:
Wat heb ik gisteren gedaan?
• Wat ben ik van plan vandaag te doen?
• Zijn er obstakels?
We hebben de vergadering echter snel zien omslaan in een situatie waarin mensen alleen voorlezen wat er gisteren en de volgende dag op de agenda staat. De theorie achter de stand-up is dat alle overleg tijdens een dagelijkse vergadering plaatsvindt, zodat het team zich de rest van de dag kan concentreren op het werk. Als de stand-up dus verandert in een dagelijkse lezing van de agenda, wees dan niet bang om dingen aan te passen en creatief te zijn. -
Sprintreview: Aan het einde van de sprint komt het team samen voor een informele sessie om een demonstratie van de winst te bekijken of om deze te inspecteren. Het ontwikkelteam toont de backlogitems die nu 'gereed' zijn aan belanghebbenden en teamgenoten voor feedback. De producteigenaar kan beslissen of hij de winst al dan niet releaset, hoewel in de meeste gevallen de winst wordt gereleased.
Tijdens deze beoordelingsbijeenkomst herwerkt de producteigenaar tevens de productbacklog op basis van de huidige sprint, die kan worden gebruikt voor de volgende sprintplanningssessie. Voor een sprint van een maand kun je overwegen om je sprintreview te timen tot maximaal vier uur. -
Sprintretrospective: De retrospectieve is het moment waarop het team samenkomt om te documenteren en te bespreken wat wel en niet werkte in een sprint, een project, mensen of relaties, tools of zelfs bepaalde ceremonies. Het idee is om een plek te creëren waar het team zich kan richten op wat goed is gegaan en wat er de volgende keer verbeterd moet worden, en niet zozeer op wat er mis is gegaan.
Ga gratis aan de slag met de Jira scrum-sjabloon
Stroomlijn je project en plan, volg en beheer eenvoudig werk in verschillende sprints. Het scrum-sjabloon van Jira bevat borden, backlogs, roadmaps, rapporten en nog veel meer!
Scrumwaarden
In 2016 zijn er vijf scrumwaarden toegevoegd aan de Scrum Guide. Deze waarden geven richting aan het werk, de acties en het gedrag van het scrumteam. Ze worden als essentieel beschouwd voor het succes van een scrumteam.
Overgave
Omdat scrumteams klein en agile zijn, speelt elk teamlid een belangrijke rol in het succes van het team. Daarom moet elk teamlid ermee instemmen om taken uit te voeren die diegene kan voltooien en zich niet te veel toe te eigenen. Er moet regelmatig gecommuniceerd worden over de voortgang van het werk, meestal in stand-ups.
Moed
Moed voor een scrumteam is eenvoudigweg de moed om de huidige toestand of iets anders dat het vermogen van een scrumteam belemmert om succesvol te zijn, in twijfel te trekken. Leden van een scrumteam moeten de moed hebben en zich veilig genoeg voelen om nieuwe dingen uit te proberen. Een scrumteam moet de moed hebben en zich veilig genoeg voelen om transparant te zijn over obstakels, projectvoortgang, vertragingen, enzovoort.
Focus
De kern van de workflow voor scrumteams is de sprint, een gerichte en specifieke periode waarin het team een bepaalde hoeveelheid werk voltooit. De sprint zorgt voor structuur maar ook voor focus om de geplande hoeveelheid werk te voltooien.
Openheid
De dagelijkse stand-up bevordert de openheid waarin teams vrijuit kunnen praten over werk in uitvoering en blockers. Bij Atlassian beantwoorden onze scrumteams vaak de volgende vragen:
- Waar heb ik gisteren aan gewerkt?
- Waar werk ik vandaag aan?
- Welke problemen heb ik?
Dit helpt om de voortgang te benadrukken en blockers te identificeren. Het helpt ook om het team te versterken als iedereen hun voortgang deelt.
Respect
De kracht van een agile team ligt in de samenwerking en het besef dat elk teamlid bijdraagt aan het werk in een sprint. Ze vieren elkaars prestaties en hebben respect voor elkaar, de producteigenaar, de belanghebbenden en de scrummaster.
Scrum, kanban en agile
Scrum is zo'n populair agile framework dat scrum en agile vaak verkeerd worden begrepen als hetzelfde. Maar er zijn nog andere frameworks, zoals kanban, wat een populair alternatief is. Sommige bedrijven kiezen er zelfs voor om een hybride model van scrum en kanban te volgen, dat de naam 'Scrumban' of 'Kanplan' heeft gekregen, wat Kanban is met een backlog.
Zowel scrum als kanban maken gebruik van visuele methoden, zoals het scrumbord of kanban-bord om de voortgang van het werk bij te houden. Beide leggen de nadruk op efficiëntie en het opsplitsen van complexe taken in kleinere stukken met beheersbaar werk, maar hun benaderingen naar dat doel zijn anders.
Scrum richt zich op kleinere iteraties met een vaste lengte. Zodra de periode voor een sprint is afgelopen, worden de story's of items in de productbacklog bepaald die tijdens deze sprintcyclus kunnen worden geïmplementeerd. In kanban wordt het aantal taken of het werk in uitvoering (WIP-limiet) dat in de huidige cyclus moet worden uitgevoerd echter eerst bepaald. De tijd die nodig is om deze functies te implementeren, wordt pas daarna berekend.
Kanban is niet zo gestructureerd als scrum. Behalve de WIP-limiet staat deze vrij open voor interpretatie. Scrum heeft echter verschillende categorische concepten die worden toegepast als onderdeel van de implementatie, zoals sprintreview, retrospectief, dagelijkse scrum, enz. Het legt ook de nadruk op multifunctionaliteit, namelijk het vermogen van een scrumteam om niet afhankelijk te zijn van externe leden om hun doelen te bereiken. Het samenstellen van een multifunctioneel team is niet eenvoudig. In die zin is kanban gemakkelijker aan te passen, terwijl scrum kan worden beschouwd als een fundamentele verandering in het denkproces en de werking van een ontwikkelteam.
Aan de slag met scrum
Het scrumframework zelf is eenvoudig. De regels, artefacten, events en rollen zijn gemakkelijk te begrijpen. De semi-voorschrijvende aanpak neemt onduidelijkheden in het ontwikkelingsproces weg, en biedt tegelijk voldoende ruimte voor bedrijven om hun eigen draai eraan te geven.
De organisatie van complexe taken in beheersbare userstory's maakt het ideaal voor moeilijke projecten. Ook zorgen de duidelijke afbakening van rollen en geplande events voor transparantie en collectief eigendom gedurende de hele ontwikkelingscyclus. Snelle releases houden het team gemotiveerd en de gebruikers tevreden omdat ze in korte tijd vooruitgang kunnen zien.
Het kan echter even duren voordat scrum het volledig begrijpt, vooral als het ontwikkelteam gewend is aan een typisch watervalmodel. De concepten van kleinere iteraties, dagelijkse scrumbijeenkomsten, sprintreviews en het identificeren van een scrummaster, kunnen een uitdagende cultuuromslag zijn voor een nieuw team.
Maar de voordelen op lange termijn wegen veel zwaarder dan de initiële leercurve. Het succes van scrum bij het ontwikkelen van complexe hardware- en softwareproducten in diverse sectoren en verticalen maakt het een overtuigend framework voor je organisatie.
Bekijk deze tutorial om scrum te leren met Jira.
Gerelateerde resources
Ga gratis aan de slag met de Jira scrum-sjabloon
Stroomlijn je project en plan, volg en beheer eenvoudig werk in verschillende sprints. Het scrum-sjabloon van Jira bevat borden, backlogs, roadmaps, rapporten en nog veel meer!
kanban
Een kennismaking met kanban-methodologie voor agile softwareontwikkeling en de voordelen ervan voor je agile team.
Lees dit artikel