PINGDOM_CANARY_STRING
Inleiding tot scrum

Een inleiding tot scrum

Leestijd: ongeveer 9 min

Software is de laatste decennia sterk veranderd. (Dat spreekt voor zich, toch?) En wat nog belangrijker is, het blijft veranderen. Het ontwikkelingsproces van software verandert natuurlijk ook. 

Dat gezegd hebbende, is het niet duurzaam om voortdurend nieuwe softwareontwikkelingsprocessen uit te vinden. Zou het niet het beste zijn om een ontwikkelingsproces te creëren dat flexibel genoeg is om in te spelen op de vooruitgang en veranderingen op het gebied van softwareontwikkeling? Hier doet agile softwareontwikkeling zijn intrede. 

Agile softwareontwikkeling is een iteratieve, aanpasbare benadering van softwareontwikkeling. In deze post nemen we een van de meest populaire agile-frameworks onder de loep: de scrummethode. 

Wat is scrum?

Scrummethodologie (ook wel scrumframework genoemd) is een agile-framework voor softwareontwikkeling.

Dus wat betekent dat precies?

Traditionele softwareontwikkelingsprocessen verlopen lineair: eerst plannen, dan ontwikkelen, dan testen, enzovoort. Agile softwareontwikkeling, daarentegen, gaat uit van een iteratieve benadering. Projecten worden opgedeeld in korte stukken die sprints worden genoemd. (Een sprint duurt meestal tussen de twee weken en een maand). 

Met elke sprint voegt het ontwikkelingsteam functies toe en verbetert ze, om zo geleidelijk het best mogelijke product af te leveren. Hierbij wordt er veel getest en ontwikkeld, en vaak overlappen ze elkaar. (Wil je meer lezen over agile softwareontwikkeling? We hebben een post gewijd aan dit onderwerp!)

Er zijn een aantal frameworks die onder de agile paraplu vallen — scrum, zoals hierboven al genoemd, is een van die frameworks. 

De scrummethode wordt gekenmerkt door een nadruk op teamwork en samenwerking. De naam scrum is ontleend aan scrums in de rugbysport, een onderdeel van het spel dat een gecoördineerde teaminspanning vereist. Tijdens elke sprint komen scrumteams dagelijks bijeen om hun voortgang bij te houden, hindernissen te identificeren en aan te pakken, en het project op koers te houden. (Later meer over de verschillende soorten scrumvergaderingen!)

De belangrijkste uitgangspunten van scrum

Het scrumframework is gebaseerd op zes basisprincipes — elk aspect van de scrummethode, van dagelijkse sprintvergaderingen tot scrumartefacten, geeft uitdrukking aan deze principes. Laten we daar dus eens op ingaan! De zes basisprincipes van scrum zijn: 

1. Controle over empirische processen: met zijn nadruk op transparantie, aanpassing en regelmatige evaluatie helpt de scrummethode ontwikkelingsteams hun product in elk stadium van het proces te testen en te verbeteren.

2. Zelforganisatie: om het scrumframework succesvol te gebruiken, moet elk lid van het team volledig achter het proces staan. Dit vereist een grote mate van zelfstandigheid en zelforganisatie. 

3. Samenwerking: om het best mogelijke product te leveren, moet een softwareontwikkelingsteam samenwerken. De teams delen tijdens elke cyclus alle verantwoordelijkheid en aansprakelijkheid. Zoals men zegt: samen slagen, samen falen. 

4. Prioritering op basis van waarde: een van de belangrijkste kenmerken van scrum is de flexibiliteit. Om zich aan te passen aan en in te spelen op nieuwe eisen en wensen voor het project, evalueren en herprioriteren scrumteams voortdurend elke taak die ze moeten volbrengen. 

5. Tijdsindeling: in de scrummethode heeft elk onderdeel van een sprint een duidelijk gedefinieerde tijdlijn. De sprint zelf duurt twee weken, maar ook de dagelijkse vergaderingen werken volgens strikt aangehouden tijdlijnen. 

6. Iteratieve ontwikkeling: omdat scrum een agile-framework is, worden producten iteratief gebouwd. Dit zorgt voor voortdurende verbetering, flexibiliteit, en uiteindelijk een product van hoge kwaliteit. 

Wie maakt deel uit van een scrumteam?

We gebruiken heel de tijd de term 'scrumteam', maar laten we eens kijken wat het eigenlijk betekent. Aan de ene kant spreekt het voor zich: een scrumteam is gewoon een softwareontwikkelingsteam dat het scrumframework gebruikt. Maar er is nog iets meer aan de hand. 

Om elke sprint vlot te laten verlopen, schrijft de scrummethode drie posities voor — vaak scrumrollen genoemd — die elk scrumteam zou moeten bevatten: product owner, ontwikkelingsteam en scrummaster. In het volgende deel zetten we elke rol en hun verantwoordelijkheden voor je op een rijtje. 

Product owner

Om het best mogelijke product af te leveren, moet een ontwikkelingsteam goed op de hoogte zijn van de behoeften en verwachtingen van de klant. Er moet sprake zijn van open communicatie tussen de twee partijen. Dus hoe zorg je daarvoor? Dat is waar de product owner om de hoek komt kijken. 

De product owner moet het product door en door kennen. Deze persoon is het voornaamste contactpunt tussen de klant en het ontwikkelingsteam. Ze gaan uit van de eisen van de klant en vertalen die naar actiepunten. Dit betekent dat ze de uit te voeren taken van het product maken en bijhouden, dit wordt de backlog genoemd. 

Elk scrumteam heeft één product owner (dit mag nooit een gedeelde rol zijn). 

Ontwikkelingsteam

Deze is vrij eenvoudig: de ontwikkelingsteams zijn de personen die... het product ontwikkelen. Scrumontwikkelingsteams moeten klein zijn en een groot aantal vaardigheden bezitten — een doorsnee team bestaat uit zowel ontwerpers als programmeurs. 

Herinner je je de basisprincipes van scrum nog? Dit is waar samenwerking om de hoek komt kijken. Leden van een scrumontwikkelingsteam moeten andere teamleden trainen in hun vaardigheden om knelpunten te helpen voorkomen. Omdat het scrumontwikkelingsteam verantwoordelijk is voor het eigenlijke programmeerwerk, zijn ze verantwoordelijk voor het inschatten en toewijzen van de tijd en middelen die voor elk backlogitem nodig zijn. 

Scrum Master

Als het nog niet duidelijk was: in het scrumframework wordt er veel vergaderd. En iemand moet die vergaderingen plannen, coördineren en leiden. Dat is de taak van de scrummaster. 

De scrummaster houdt zich bezig met alles wat met scrum te maken heeft. Hoe implementeert het team de scrummethodologie? Zijn er gebieden die bijgesteld of verbeterd moeten worden? Hoe kan het team met elke sprint beter worden? 

Daarnaast zijn ze er verantwoordelijk voor dat scrumvergaderingen gepland worden en vlot verlopen. 

Scrumartefacten

We hebben al heel wat scrumjargon behandeld, maar we zijn nog niet helemaal klaar. In scrum is een artefact gewoon een mechanisme — of hulpmiddel — om werk te beheren en te voltooien. Er zijn vier belangrijke scrumartefacten: 

Productbacklog

De productbacklog, die door de product owner wordt bijgehouden, is een lijst van eisen voor het eindproduct. Naarmate de prioriteiten veranderen, zal de product owner de backlog herschikken en reorganiseren. Aan het begin van elke sprint kiezen scrumteams een aantal taken uit de productbacklog waar ze tijdens die sprint aan willen werken. 

Sprintbacklog

Bij elke sprint worden de taken uit de productbacklog geselecteerd en in de sprintbacklog gezet. De sprintbacklog wordt uitsluitend door het ontwikkelingsteam bijgehouden en gebruikt. Deze taken worden vaak georganiseerd op een scrum board — een visueel hulpmiddel om de voortgang en prioriteit van elke taak bij te houden. Taken worden op het bord gesorteerd in kolommen: opslagen, te doen, in uitvoering, en voltooid. Naarmate taken voltooid worden, verplaatst het ontwikkelingsteam ze door deze kolommen. 

Voorbeeld van een scrum board (klik op de afbeelding voor meer informatie)

Gebruikers-verhaal

User stories zijn een manier om backlogitems te beschrijven. De productbacklog is in wezen een lijst van functies die in het eindproduct moeten komen. User stories beschrijven die functies vanuit het perspectief van een eindgebruiker: waarom heeft de gebruiker deze functie nodig en hoe gaat die er in de praktijk uitzien?

Voorbeeld user story map (klik op de afbeelding voor meer informatie)

Productverbetering

Aan het eind van elke sprint heb je (hopelijk!) een stapel voltooide taken die samen de productverbetering vormen. Dat wil zeggen, de productverbetering is gewoon de werkende versie van het product aan het eind van een sprint. 

Scrumgebeurtenissen

We hebben het al een paar keer gehad over scrumvergaderingen (en hoeveel dat er zijn) zonder verdere uitleg — die uitleg volgt nu! Het scrumframework berust op een aantal 'gebeurtenissen'. Een aantal van de meest voorkomende en belangrijke scrumgebeurtenissen zijn: 

Sprint

De sprint is de ruggengraat van agile softwareontwikkeling; het is de kern van het scrumproces. Sprints, die meestal tussen twee en vier weken duren, zijn de organisatie-eenheid van scrum. De werkzaamheden worden gepland in sprints en daaromheen worden vergaderingen gepland enzovoort.

Sprintplanning 

Als je je op onbekend terrein begeeft, begin je niet zomaar te rijden. (Of misschien doe je dat wel, maar dat loopt waarschijnlijk niet zo goed af.) Je wilt een kaart bekijken en de beste route naar je bestemming uitstippelen. 

Op dezelfde manier kiezen scrumteams niet zomaar een paar backlogtaken en beginnen ze halsoverkop aan een sprint. Er komt heel wat planning bij kijken. Een sprintplanningsvergadering, die aan het begin van een sprint gehouden wordt, zou een paar uur moeten duren — houd rekening met twee uur voor elke week van je sprint. In die tijd moeten jij en je team een aantal vragen beantwoorden: wat gaan we deze sprint bereiken? En hoe gaan we dat bereiken? Wees zo specifiek mogelijk. 

Dagelijkse vergadering

Dagelijkse vergaderingen — ook wel dagelijkse scrums of stand-upmeetings genoemd — zijn korte vergaderingen (liefst vijftien minuten) die elke ochtend op hetzelfde tijdstip gehouden worden. Tijdens deze vergaderingen bespreekt het ontwikkelingsteam wat ze de vorige dag bereikt hebben, en wat ze vandaag hopen te bereiken. 

Beoordeling van de sprint

De scrummethode moedigt transparantie tussen alle stakeholders aan. Sprintbeoordelingsvergaderingen helpen deze transparantie te bevorderen. Deze vergaderingen, die aan het eind van elke sprint worden gehouden, bieden het scrumteam de gelegenheid het product, in de huidige iteratie, aan de andere stakeholders te presenteren. Op basis van de feedback die in deze vergadering gegeven wordt, verfijnt de product owner de productbacklog. 

Sprint-retrospectives

Sprintbeoordelingsvergaderingen worden bijgewoond door een aantal stakeholders, sprint-retrospectives zijn alleen voor het scrumteam. Deze vergaderingen worden gehouden aan het eind van elke sprint en geven teamleden de kans om te reflecteren op de vorige sprint. 

Stel je scrumteam tijdens sprint-retrospectives een aantal vragen: wat ging er goed? Wat ging er minder goed? En, het allerbelangrijkste, hoe kunnen we het de volgende sprint beter doen? 

Voorbeelden van retrospective (klik op de afbeelding voor meer informatie)

De voordelen van scrum

Hopelijk heb je nu op z'n minst de basisprincipes van scrum onder de knie. Wat nu? Je moet beslissen of de scrummethode iets is waar je team baat bij kan hebben. 

De voordelen van scrum liggen grotendeels in het feit dat het een iteratieve benadering is. Door het scrumframework te gebruiken, kan je team zich aanpassen aan de steeds veranderende wereld van softwareontwikkeling en een product afleveren dat met elke sprint beter wordt.

Nu ben jij aan de beurt! Ga vandaag nog aan de slag met ons scrum board-sjabloon.

Houd je projecten georderd

Gebruik vandaag nog ons scrum board-sjabloon.

Meld je aan voor Lucidspark

Nu populair

Zoom’s Lucidspark Zoom App integration

Verbeterde samenwerking met Lucidspark en Zoom

Over Lucidspark

Lucidspark is een virtueel whiteboard waarmee u en uw team kunnen samenwerken rond de beste ideeën. Het bevat memobriefjes, tools voor vrijestijltekenen en een oneindig groot tekenvel om dat volgende grote idee vast te leggen. En het is gemaakt voor teamwerk. Het is een soort zandbak waarin uw team ideeën kan uitwisselen en samen in realtime kan innoveren.

Mogelijk gemaakt door de makers van Lucidchart, vertrouwd door miljoenen gebruikers over de hele wereld, waaronder 99% van de Fortune 500-bedrijven.

Aan de slag

  • Prijzen
  • Individueel
  • Team
  • Bedrijf
  • Contact met sales
Nederlands
EnglishFrançaisDeutsch日本語PortuguêsEspañolNederlandsPусскийItaliano
PrivacyJuridisch
© 2022 Lucid Software Inc.