De Scrumgids
De definitieve gids voor Scrum: de regels van het spel
juli 2021
Inhoudsopgave
Definitie van “Klaar” (Definition of “Done”) 16
Doel van de Scrumgids
Scrum is een raamwerk voor het ontwikkelen en onderhouden van complexe producten. Deze gids beschrijft de definitie van Scrum. Deze definitie bestaat uit de Scrum rollen, gebeurtenissen, artefacten en de regels die deze zaken samenbrengen. Ken Schwaber en Jeff Sutherland hebben Scrum ontwikkeld; de Scrumgids is door hen geschreven en ter beschikking gesteld. Zij staan samen achter deze gids.
Definitie van Scrum
Scrum (n): Een raamwerk waarbinnen mensen complexe, adaptieve problemen adresseren en tegelijkertijd op een productieve en creatieve wijze producten van de hoogst mogelijk waarde leveren.
Scrum is:
- Lichtgewicht
- Simpel om te begrijpen
- Moeilijk om te leren beheersen
Scrum is een procesraamwerk dat sinds de jaren 1990 gebruikt wordt om complexe productontwikkeling te managen. Scrum is geen proces of techniek voor het bouwen van producten; het is een raamwerk waar binnen je de verschillende processen en technieken kunt inzetten. Scrum maakt de effectiviteit van jouw productmanagement en ontwikkeltechnieken inzichtelijk zodat je kunt verbeteren.
Het Scrum raamwerk bestaat uit Scrum Teams en hun bijbehorende rollen, gebeurtenissen, artefacten en regels. Elk onderdeel binnen het raamwerk dient een specifiek doel en is essentieel voor het gebruik en succes van Scrum.
De regels van Scrum verbinden de gebeurtenissen, rollen en artefacten, en beschrijven de relaties en interactie tussen deze. De regels van Scrum worden beschreven door deze hele tekst heen.
Specifieke tactieken voor het gebruik van het Scrum raamwerk verschillen en worden niet in deze gids beschreven.
Scrum Theorie
Scrum is gebaseerd op de theorie van empirische procesbesturing , ofwel het empirisme. Empirisme gaat er vanuit dat kennis ontstaat uit ervaring en het nemen van beslissingen op basis van wat bekend is. Scrum gebruikt een iteratieve, incrementele aanpak om voorspelbaarheid te optimaliseren en risico’s te beheersen.
Drie pijlers vormen het fundament van elke implementatie van empirische procesbesturing: transparantie, inspectie en aanpassing.
Transparantie
Significante aspecten van het proces moeten zichtbaar zijn voor diegenen die verantwoordelijk zijn voor het resultaat. Transparantie vereist dat deze aspecten gedefinieerd zijn volgens een gezamenlijke standaard zodat waarnemers een gezamenlijk begrip hebben van wat er gezien wordt. Bijvoorbeeld:
- Een gemeenschappelijke taal met betrekking tot het proces moet door alle deelnemers worden gedeeld; en,
- Een gemeenschappelijke definitie van “Klaar” (Definition of Done)1 moet worden gedeeld door degenen die het werk uitvoeren en degenen die het werkende product accepteren.
Inspectie
Scrum gebruikers moeten frequent de Scrum artefacten en de voortgang ten opzichte van het doel inspecteren, om ongewenste variantie te kunnen detecteren. Hun inspecties mogen niet zo frequent zijn dat de inspecties in de weg gaan zitten van het werk. Inspecties zijn het meest nuttig wanneer ze zorgvuldig worden uitgevoerd door vaardige inspecteurs, daar waar het werk gedaan wordt.
Aanpassing
Als een inspecteur bepaalt dat één of meer aspecten van een proces buiten de acceptabele limieten vallen en dat het resulterende product onacceptabel zal zijn, zal het proces of het onderhanden werk aangepast moeten worden. Een aanpassing moet zo snel mogelijk uitgevoerd worden om verdere afwijkingen te minimaliseren.
Scrum schrijft vier formele gelegenheden voor ten behoeve van inspectie en aanpassing, zoals beschreven in het ScrumGebeurtenissengedeelte van dit document.
- Sprint Planning
- Dagelijkse Scrum
- Sprint Review
- Sprint Retrospective
Scrum Waarden
Wanneer de waarden inzet, moed, focus, openheid en respect worden uitgedragen en geleefd door het Scrum Team, komen de Scrum pilaren van transparantie, inspectie en aanpassing tot
1 Zie “Definitie van Klaar”, p. 16.
leven en bouwen deze vertrouwen voor iedereen. De Scrum Teamleden leren en ontdekken deze waarden als zij werken met de Scrum gebeurtenissen, rollen en artefacten.
Succesvol gebruik van Scrum hangt af van de vaardigheid waarmee de mensen naar deze vijf waarden leven. Mensen spreken af zich in te zetten om de doelen van het Scrum Team te halen. De Scrum Teamleden hebben de moed om het juiste ding te doen, en om lastige problemen aan te pakken. Iedereen focust op het werk in de Sprint en de doelen van het Scrum Team. Het Scrum Team en de belanghebbenden spreken af open te zijn over al het werk en de uitdagingen in het uitvoeren van het werk. Scrum Teamleden respecteren elkaar om capabele, onafhankelijke mensen te zijn.
Het Scrum Team
Het Scrum Team bestaat uit een Product Owner, het Ontwikkelteam en een Scrum Master. Scrum Teams zijn zelf-organiserend en multidisciplinair. Zelforganiserende teams kiezen zelf hoe zij het beste hun werk kunnen uitvoeren, in plaats van dat dit verteld wordt door iemand van buiten het team. Multidisciplinaire teams hebben alle competenties die nodig zijn om het werk uit te voeren, zonder afhankelijk te zijn van anderen buiten het team. Het team model in Scrum is ontworpen voor optimale flexibiliteit, creativiteit en productiviteit.
Scrum teams leveren iteratief en incrementeel producten, waarbij gelegenheden voor feedback gemaximaliseerd worden. Incrementele leveringen van een “Klaar” (Done) product zorgen ervoor dat een potentieel bruikbare versie van het product altijd beschikbaar is.
De Product Owner
De Product Owner is verantwoordelijk voor het maximaliseren van de waarde van het product en de werkzaamheden van het Ontwikkelteam. Hoe dit precies gedaan wordt verschilt enorm per organisatie, Scrum Team en individu.
De Product Owner is de enige persoon die verantwoordelijk is voor het managen van de Product Backlog. Product Backlog management omvat o.a.:
- Helder omschrijven van Product Backlog items;
- Ordenen van Product Backlog items zodat doelen en missie op de beste manier behaald kunnen worden;
- Optimaliseren van de waarde van het werk dat het Ontwikkelteam uitvoert;
- Ervoor zorgen dat de Product Backlog zichtbaar, transparant en duidelijk is voor iedereen, en dat het laat zien waar het Scrum Team als volgende aan gaat werken; en
- Ervoor zorgen dat het Ontwikkelteam de Product Backlog items begrijpt tot het niveau dat nodig is.
De Product Owner kan het bovenstaande werk zelf uitvoeren, of het door het Ontwikkelteam laten doen. In elk geval blijft de Product Owner verantwoordelijk.
De Product Owner is één persoon, geen comité. De Product Owner kan de wensen van een comité vertegenwoordigen via de Product Backlog, maar iedereen die een verandering wil in prioriteit van een Backlog Item, moet de Product Owner aanspreken.
Om te kunnen slagen als Product Owner, moet de gehele organisatie zijn of haar beslissingen respecteren. De beslissingen van de Product Owner zijn zichtbaar in de inhoud en ordening van de Product Backlog. Niemand mag het Ontwikkelteam aan een andere set van requirements laten werken en het Ontwikkelteam is het niet toegestaan te acteren op basis van wat iemand anders zegt.
Het Ontwikkelteam
Het Ontwikkelteam bestaat uit professionals die het werk doen om een potentieel uitleverbaar Increment van het “Klaar” (Done) product op te leveren aan het einde van elke Sprint. Alleen leden van het Ontwikkelteam creëren het Increment.
Ontwikkelteams worden door de organisatie zodanig gestructureerd en voorzien van bevoegdheden dat zij hun eigen werk kunnen organiseren en beheren. De resulterende synergie optimaliseert de algehele efficiëntie en effectiviteit van het team.
Ontwikkelteams hebben de volgende karakteristieken:
- Ze zijn zelfsturend. Niemand (zelfs de Scrum Master niet) vertelt het Ontwikkelteam hoe zij de Product Backlog moeten omzetten in Incrementen van potentieel uitleverbare functionaliteit;
- Ontwikkelteams zijn multidisciplinair, met alle benodigde vaardigheden om als team een product Increment te kunnen maken;
- Scrum erkent geen titels voor Ontwikkelteamleden anders dan Ontwikkelaar, ongeacht het werk dat door de persoon wordt uitgevoerd; er zijn geen uitzonderingen op deze regel;
- Ontwikkelteams omvatten geen sub teams die toegewijd zijn aan een specifiek domein zoals testen of business analyse; er zijn geen uitzonderingen op deze regel; en,
- Individuele Ontwikkelteamleden kunnen specifieke vaardigheden of focusgebieden hebben, maar verantwoordelijkheid ligt bij het Ontwikkelteam als geheel.
Ontwikkelteam grootte
De optimale Ontwikkelteam grootte is klein genoeg om wendbaar te blijven en groot genoeg om significant werk te kunnen leveren binnen een Sprint. Minder dan drie Ontwikkelteamleden maakt dat interactie vermindert en resulteert in lagere productiviteitswinst. Kleinere Ontwikkelteams kunnen tegen een gebrek aan vaardigheden aanlopen tijdens de Sprint, wat resulteert in het niet kunnen opleveren van een potentieel uitleverbaar Increment. Meer dan negen leden in het team vereist teveel coördinatie. Grote Ontwikkelteams genereren teveel complexiteit om door een empirisch proces bestuurd te kunnen worden. De Product Owner en de Scrum Master worden hierin niet meegeteld tenzij zij ook werk van de Sprint Backlog uitvoeren.
De Scrum Master
De Scrum Master is ervoor verantwoordelijk dat Scrum wordt begrepen en goed wordt uitgevoerd. Scrum Masters doen dit door ervoor te zorgen dat het Scrum Team zich houdt aan de Scrum theorie, praktijk en regels.
De Scrum Master is een dienend leider voor het Scrum Team. De Scrum Master helpt diegenen buiten het Scrum Team te begrijpen welke van hun interacties met het Scrum Team behulpzaam zijn en welke niet. De Scrum Master helpt iedereen deze interacties te veranderen om zo de waarde die door het Scrum Team wordt gecreëerd te maximaliseren.
Scrum Master diensten aan de Product Owner
De Scrum Master dient de Product Owner op een aantal manieren, waaronder:
- Het vinden van technieken voor een effectief Product Backlog management;
- Het Scrum Team de noodzaak laten inzien om duidelijke en beknopte Product Backlog items te maken;
- Inzicht verkrijgen in de product planning in een empirische omgeving;
- Ervoor zorgdragen dat de Product Owner weet hoe de Product Backlog te ordenen zodat de maximale waarde verkregen kan worden;
- Inzicht verkrijgen in en het beoefenen van agility; en,
- Het faciliteren van Scrum gebeurtenissen wanneer gevraagd of nodig.
Scrum Master diensten aan het Ontwikkelteam
De Scrum Master dient het Ontwikkelteam op een aantal manieren, waaronder:
- Coachen van het Ontwikkelteam op het vlak van zelforganisatie en multidisciplinair werken;
- Het Ontwikkelteam helpen bij het maken van producten van hoge waarde;
- Het verwijderen van belemmeringen (‘impediments’) in de voortgang van het
Ontwikkelteam;
- Het faciliteren van Scrum gebeurtenissen wanneer gevraagd of nodig; en,
- Het coachen van het Ontwikkelteam in organisatorische omgevingen waarbinnen Scrum nog niet volledig is opgenomen en begrepen.
Scrum Master diensten aan de Organisatie
De Scrum Master dient de organisatie op een aantal manieren, waaronder:
- Het leiden en coachen van de organisatie in haar Scrum adoptie;
- Plannen van Scrum implementaties in de organisatie;
- Helpen van medewerkers en belanghebbenden bij het begrijpen en doorleven van Scrum en empirische productontwikkeling;
- Initiëren van veranderingen die de productiviteit van het Scrum Team verhogen; en,
- Met andere Scrum Masters samenwerken om de effectiviteit van de toepassing van Scrum binnen de organisatie te verhogen.
Scrum Gebeurtenissen
Binnen Scrum worden voorgeschreven gebeurtenissen gebruikt om regelmaat te creëren en om de behoefte aan overige, niet in Scrum gedefinieerde bijeenkomsten te minimaliseren. Scrum maakt gebruik van timeboxes bij gebeurtenissen, zodat elke gebeurtenis aan een maximale tijdsduur is gebonden. Als een Sprint eenmaal begonnen is, is de duur niet meer aanpasbaar en kan dus niet ingekort of verlengd worden. De andere gebeurtenissen mogen eindigen zodra het doel van de gebeurtenis is bereikt, zodat de juiste tijd wordt gespendeerd zonder waardevermindering (“waste”) van het proces.
Anders dan de Sprint zelf, die een container is voor alle andere gebeurtenissen, is elke gebeurtenis in Scrum een formele gelegenheid om iets te inspecteren en aan te passen. Deze gebeurtenissen zijn specifiek ontworpen om kritieke transparantie en inspectie mogelijk te maken. Het niet opnemen van één van de deze gebeurtenissen resulteert in een vermindering van transparantie en is een gemiste kans voor inspectie en aanpassing.
De Sprint
Het hart van Scrum is een Sprint, een timebox van één maand of minder waarbinnen een “Klaar”, bruikbaar en potentieel uitleverbaar product Increment wordt gecreëerd. Sprints hebben idealiter een consistente lengte gedurende de ontwikkelinspanning. Een nieuwe Sprint start direct nadat de vorige Sprint is afgesloten.
Sprints bevatten en bestaan uit een Sprint Planningsbijeenkomst, Dagelijkse Scrums, het ontwikkelwerk, de Sprint Review en de Sprint Retrospective.
Gedurende de Sprint:
- Worden geen veranderingen aangebracht die het Sprint Doel in gevaar kunnen brengen;
- Verminderen kwaliteitsdoelstellingen niet; en,
- Mag de scope worden verduidelijkt en heronderhandeld tussen Product Owner en Ontwikkelteam naarmate meer is geleerd.
Elke Sprint mag worden beschouwd als een project met een horizon van niet meer dan één maand. Net als projecten worden Sprints gebruikt om iets te bereiken. Elke Sprint bestaat uit een definitie van wat er gemaakt moet worden, een ontwerp en een flexibel plan dat richting geeft aan de bouw, de werkzaamheden zelf en het resulterende product.
Sprints worden beperkt tot één kalendermaand. Wanneer een Sprinthorizon te ver weg is kan de definitie van wat gemaakt wordt veranderen, complexiteit kan verhogen en risico’s kunnen vergroot worden. Sprints geven de mogelijkheid van voorspelbaarheid door ervoor te zorgen dat via inspectie en aanpassing naar een Sprint Doel wordt gestuurd, op zijn minst elke maand.
Sprints zorgen er ook voor dat het risico wordt beperkt tot maximaal één maand aan kosten.
Afbreken van een Sprint
Een Sprint kan worden afgebroken voordat de Sprint timebox voorbij is. Alleen de Product Owner heeft de autoriteit om een Sprint af te breken, hoewel hij of zij dit kan doen onder invloed van de belanghebbenden, het Ontwikkelteam of de Scrum Master.
Een Sprint wordt typisch afgebroken als het Sprint Doel achterhaald is geworden. Dit kan gebeuren als de organisatie van richting verandert of indien de markt- of technologieomstandigheden veranderen. In zijn algemeenheid zou een Sprint moeten worden afgebroken indien deze, gegeven de omstandigheden, niet zinvol meer is. Echter, gezien de korte looptijd van een Sprint, is het afbreken zeer zelden zinvol.
Indien een Sprint wordt afgebroken, worden Product Backlog items die “Klaar” zijn geïnspecteerd. Indien een deel van het werk potentieel uitleverbaar is zal de Product Owner dit normaal gesproken accepteren. Alle incomplete Product Backlog Items worden opnieuw ingeschat en terug op de Product Backlog gezet. Het werk dat reeds gedaan is voor deze items vermindert snel in waarde en moet frequent opnieuw worden ingeschat.
Sprints afbreken brengt kosten met zich mee, want iedereen moet hergroeperen in een nieuwe Sprint Planning om een nieuwe Sprint te starten. Het afbreken van een Sprint is vaak traumatisch voor het Scrum Team en komt zelden voor.
Sprint Planning
Het werk dat uitgevoerd moet worden tijdens een Sprint wordt gepland tijdens de Sprint Planning. Het maken van dit plan is een gezamenlijke inspanning van het gehele Scrum Team.
De Sprint Planningsbijeenkomst heeft een timebox van acht uur voor een Sprint van één maand. Voor kortere Sprints is de bijeenkomst normaliter korter. De Scrum Master draagt er zorg voor dat deze gebeurtenis plaats vindt en dat de deelnemers het doel begrijpen. De Scrum Master leert het Scrum Team hoe ze de Planning binnen de timebox kunnen afronden.
Sprint Planning beantwoordt de volgende vragen:
- Wat kan worden geleverd in het resulterende Increment van de komende Sprint?
- Hoe wordt het benodigde werk om dit Increment te leveren behaald?
Onderwerp één: Wat kan worden gedaan deze Sprint?
In dit deel werkt het Ontwikkelteam aan een prognose van de functionaliteit die in deze Sprint ontwikkeld zal worden. De Product Owner bespreekt de beoogde doelstelling van deze Sprint en de Product Backlog items welke, als ze worden gecompleteerd tijdens de Sprint, het Sprint Doel zullen vervullen. Het hele Scrum Team werkt samen om het werk van de Sprint te begrijpen.
De input voor deze bijeenkomst is de Product Backlog, het laatste product Increment, de verwachte capaciteit van het Ontwikkelteam gedurende de Sprint en de prestaties uit het verleden van het Ontwikkelteam. Het aantal items dat wordt geselecteerd van de Product Backlog is volledig aan het Ontwikkelteam. Alleen het Ontwikkelteam kan inschatten wat zij kan bereiken binnen de aankomende Sprint.
Nadat het Ontwikkelteam een prognose heeft gegeven van de Product Backlog items die zij kunnen gaan leveren, formuleert het Scrum Team een Sprint Doel. Het Sprint Doel is een doelstelling die gedurende de Sprint bereikt zal worden middels het implementeren van de Product Backlog en geeft richting aan het Ontwikkelteam met betrekking tot het waarom van het bouwen van het Increment.
Onderwerp twee: Hoe zal het gekozen werk gedaan worden?
Na het Sprint Doel te hebben vastgesteld en het werk voor de Sprint te hebben geselecteerd, beslist het Ontwikkelteam hoe het deze functionaliteit realiseert tot een “Klaar” product Increment gedurende de Sprint. De voor de Sprint geselecteerde Product Backlog items plus het plan voor het leveren ervan wordt de Sprint Backlog genoemd.
Gebruikelijk is dat het Ontwikkelteam start met het ontwerpen van het systeem en het werk dat gedaan moet worden om de Product Backlog om te zetten in een werkend product Increment. Werk kan variëren in grootte of geschatte inspanning. Tijdens de Sprint Planningsbijeenkomst plant het Ontwikkelteam zodanig veel werk dat een voorspelling gedaan kan worden met betrekking tot wat het denkt te kunnen opleveren in de komende Sprint. Aan het einde van deze meeting heeft het team het werk voor de eerste dagen van de Sprint opgedeeld in onderdelen , vaak van één dag of kleiner. Het Ontwikkelteam organiseert zichzelf om het werk in de Sprint Backlog gedaan te krijgen, zowel gedurende de Sprint Planning als gedurende de Sprint.
De Product Owner mag helpen om de geselecteerde Product Backlog items verder te verduidelijken en om afwegingen te maken. Indien het Ontwikkelteam bepaalt dat er te veel of te weinig werk is, mag het team over de Sprint Backlog items opnieuw onderhandelen met de Product Owner. Het Ontwikkelteam mag ook andere mensen uitnodigen om advies te leveren op technisch vlak of over het domein.
Aan het einde van de Sprint Planningsbijeenkomst zou het Ontwikkelteam in staat moeten zijn om aan de Product Owner en Scrum Master uit te leggen hoe zij van plan zijn, als zelf organiserend team, het Sprintdoel te behalen en het verwachte Increment te realiseren.
SprintDoel
Het Sprint Doel is een doelstelling die voor de sprint bepaald wordt, welke gehaald kan worden door Product Backlog te implementeren. Het geeft richting aan het Ontwikkelteam over waarom zij dit Increment bouwen. Het wordt opgesteld tijdens de Sprint Planning Meeting. Het Sprint Doel geeft het Ontwikkelteam de nodige flexibiliteit ten aanzien van de functionaliteit die geïmplementeerd wordt in de Sprint. De geselecteerde Product Backlog items leveren een samenhangende functie, wat het Sprint Doel kan zijn. Het Sprint Doel kan elke andere samenhang zijn die ervoor zorgt dat het Ontwikkelteam gaat samenwerken in plaats van aan verschillende initiatieven.
Tijdens het werken houdt het Ontwikkelteam het Sprint Doel in het oog. Functionaliteit en technologie worden geïmplementeerd om het Sprint Doel te bereiken. Indien het werk anders blijkt te zijn dan het Ontwikkelteam had verwacht, werken zij samen met de Product Owner om over de scope van de Sprint Backlog binnen deze Sprint te onderhandelen.
Dagelijkse Scrum
De Dagelijkse Scrum is een 15-minuten-timeboxed gebeurtenis voor het Ontwikkelteam om activiteiten te synchroniseren en een plan te maken voor de komende 24 uur. Dit wordt gedaan door het werk sinds de laatste Dagelijkse Scrum te inspecteren en te voorspellen welk werk gedaan kan worden tot de volgende Dagelijkse Scrum.
De Dagelijkse Scrum wordt elke dag gehouden op dezelfde tijd en plaats om complexiteit te reduceren. Gedurende de bijeenkomst licht elk Ontwikkelteamlid het volgende toe:
- Wat heb ik gisteren gedaan wat het team heeft geholpen het Sprint Doel te bereiken?
- Wat ga ik vandaag doen om het team te helpen het Sprint Doel te bereiken?
- Zie ik enig obstakel die mij of het team in de weg staat het Sprint Doel te bereiken?
Het Ontwikkelteam gebruikt de Dagelijkse Scrum om de voortgang ten opzichte van het Sprint Doel te beoordelen en om te beoordelen hoe de trend is van het gedane werk ten opzichte van de Sprint Backlog. De Dagelijkse Scrum optimaliseert de waarschijnlijkheid dat het Ontwikkelteam het Sprint Doel behaalt. Elke dag moet het Ontwikkelteam begrijpen hoe zij samen gaan werken als zelf-organiserend team om het Sprint Doel te behalen en hoe het verwachte Increment gerealiseerd te hebben aan het eind van de Sprint. Het Ontwikkelteam houdt regelmatig een bijeenkomst direct na de Dagelijkse Scrum voor gedetailleerde discussies, of om de rest van het werk in de Sprint aan te passen of te herplannen.
De Scrum Master zorgt ervoor dat het Ontwikkelteam de bijeenkomst houdt, maar het Ontwikkelteam zelf is verantwoordelijk voor het uitvoeren van de Dagelijkse Scrum. De Scrum Master leert het Ontwikkelteam om de Dagelijkse Scrum binnen de 15-minuten-timebox te houden.
De Scrum Master dwingt de regel af dat alleen Ontwikkelteamleden participeren in de Dagelijkse Scrum.
Dagelijkse Scrums verbeteren communicatie, elimineren andere bijeenkomsten, identificeren obstakels bij de ontwikkeling zodat die verwijderd kunnen worden, belichten en bevorderen het maken van snelle beslissingen en verbeteren het kennisniveau van het Ontwikkelteam. Dit is een zeer belangrijke inspectie- en aanpassingsbijeenkomst.
Sprint Review
Een Sprint Review wordt gehouden aan het einde van de Sprint om het Increment te inspecteren en indien nodig de Product Backlog aan te passen. Gedurende de Sprint Review bekijken het Scrum Team en de belanghebbenden samen wat er bereikt is gedurende de Sprint.
Op basis hiervan en op basis van veranderingen in de Product Backlog, werken de aanwezigen samen aan de volgende stappen die genomen kunnen worden om waarde te optimaliseren. Dit is een informele bijeenkomst, geen status meeting, en de presentatie van het Increment heeft als doel feedback te verzamelen en samenwerking te bevorderen.
Dit is een vier-uur-timebox bijeenkomst bij Sprints van één maand. Over het algemeen wordt er minder tijd gebruikt bij kortere sprints. De Scrum Master draagt er zorg voor dat de gebeurtenis plaatsvindt en dat de aanwezigen het doel begrijpen. De Scrum Master leert iedereen om het binnen de timebox te houden.
De Sprint Review omvat de volgende elementen:
- De aanwezigen zijn het Scrum Team en belangrijke belanghebbenden die worden uitgenodigd door de Product Owner.
- De Product Owner legt uit welke Product Backlog items “Klaar” zijn en wat er niet “Klaar” is;
- Het Ontwikkelteam bespreekt wat er goed ging gedurende de Sprint, welke problemen ze zijn tegengekomen en hoe deze problemen werden opgelost;
- Het Ontwikkelteam demonstreert het werk dat “Klaar” is en beantwoordt vragen over het Increment;
- De Product Owner bespreekt de Product Backlog zoals deze nu is. Hij of zij projecteert waarschijnlijke data van completering op basis van de voortgang tot nu toe (als nodig);
- De gehele groep werkt samen aan wat er vervolgens gemaakt gaat worden, zodat de Sprint Review waardevolle input levert voor de komende Sprint Planningsbijeenkomst;
- Een beoordeling van wijzigingen in de markt of in potentieel gebruik van het product kunnen beïnvloeden wat het meest waardevolle is om vervolgens te doen; en,
- Een overzicht van de tijdlijn, budget, potentiele mogelijkheden, en markt voor de volgende verwachte ingebruikname van het product.
Het resultaat van de Sprint Review is een herziende Product Backlog welke de waarschijnlijke Product Backlog items voor de volgende Sprint definieert. De Product Backlog kan ook worden aangepast om nieuwe kansen te kunnen omarmen.
Sprint Retrospective
De Sprint Retrospective is een kans voor het Scrum Team om zichzelf te inspecteren en een plan te maken om zichzelf gedurende de komende Sprint te verbeteren.
De Sprint Retrospective vindt plaats na de Sprint Review en vóór de volgende Sprint Planning. Dit is een drie-uur-timebox bijeenkomst voor Sprints van één maand. Over het algemeen wordt minder tijd gepland voor kortere sprints. De Scrum Master draagt er zorg voor dat de gebeurtenis plaatsvindt en dat de aanwezigen het doel begrijpen. De Scrum Master leert iedereen om het binnen de timebox te houden. De Scrum Master neemt deel als een gelijkwaardig teamlid aan de bijeenkomst vanuit zijn verantwoordelijkheid voor het Scrum proces.
Het doel van de Sprint Retrospective is om:
- Te inspecteren hoe de laatste Sprint is gegaan met betrekking tot mensen, relaties, processen en tools;
- Dingen die goed gingen en potentiële verbeteringen te identificeren en te ordenen; en,
- Een plan te creëren om verbeteringen op de manier waarop het Scrum Team zijn werk doet te implementeren.
De Scrum Master moedigt het Scrum Team aan om, binnen het Scrum proces raamwerk, hun ontwikkelproces en practices te verbeteren, om het team effectiever en plezieriger te maken voor de volgende Sprint. Gedurende elke Sprint Retrospective plant het Scrum Team manieren om de kwaliteit van het product te verhogen door zo nodig de definitie van “Klaar” aan te passen.
Tegen het einde van de Sprint Retrospective zou het Scrum Team verbeteringen moeten hebben benoemd die geïmplementeerd zullen worden in de volgende Sprint. Het implementeren van deze verbeteringen in de volgende Sprint is de aanpassing naar aanleiding van de inspectie van het Scrum Team zelf. Alhoewel verbeteringen altijd geïmplementeerd mogen worden, biedt de Sprint Retrospective een formeel moment gericht op inspectie en aanpassing.
Scrum Artefacten
De artefacten van Scrum vertegenwoordigen werk of waarde die transparantie bieden en mogelijkheden tot inspectie en adaptie. De artefacten die Scrum definieert zijn specifiek ontworpen voor maximale transparantie van sleutelinformatie zodat iedereen hetzelfde begrip heeft van het artefact.
Product Backlog
De Product Backlog is een geordende lijst van alles dat mogelijk nodig is in het product, en is de enige bron van requirements voor elke wijziging die aan het product gemaakt moeten worden. De Product Owner is verantwoordelijk voor de Product Backlog, inclusief de inhoud, beschikbaarheid en ordening.
Een Product Backlog is nooit compleet. De eerste versies ervan bevatten alleen de initieel bekende en best begrepen requirements. De Product Backlog ontwikkelt zich net zoals het product en de omgeving waarin het gebruikt gaat worden zich verder ontwikkelen. De Product Backlog is dynamisch: hij verandert voortdurend om duidelijk te maken wat het product nodig heeft om passend, concurrerend en bruikbaar te zijn. Zolang het product bestaat, bestaat de bijbehorende Product Backlog ook.
De Product Backlog somt alle kenmerken, functies, requirements, verbeteringen en foutherstel op die gezamenlijk de wijzigingen zijn die in toekomstige releases aan het product gemaakt moeten worden. Product Backlog items hebben als kenmerken een beschrijving, ordening, een schatting en een waarde.
Vanaf het moment dat het product gebruikt wordt en waarde oplevert, en de markt terugkoppeling levert, wordt de Product Backlog een grotere en meer uitputtende lijst. Requirements blijven altijd veranderen, en dus is de Product Backlog een levend artefact. Veranderingen in bedrijfseisen, marktomstandigheden of technologieën kunnen veranderingen in de Product Backlog tot gevolg hebben.
Meerdere Scrum Teams werken vaak samen aan hetzelfde product. Eén Product Backlog wordt gebruikt om het aankomende werk op het product te beschrijven. Er wordt dan mogelijk een Product Backlog attribuut gebruikt om items te groeperen.
Product Backlog verfijning (“Refinement”) is het toevoegen van detail, schattingen en volgorde aan de items op de Product Backlog. Dit is een doorlopend proces waarbij de Product Owner en het Ontwikkelteam samenwerken aan de details van de Product Backlog items. Gedurende Product Backlog Refinement worden items beoordeeld en bijgewerkt. Refinement neemt gewoonlijk niet meer dan 10% van de capaciteit van het Ontwikkelteam in beslag. Echter, Product Backlog Items kunnen op elk moment worden bijgewerkt door de Product Owner en naar de Product Owner‘s eigen beoordeling.
Product Backlog items met een hogere rangorde zijn normaliter duidelijker en meer gedetailleerd dan die met een lagere rangorde. De schattingen zijn meer precies vanwege de hogere mate van duidelijkheid en detaillering. Hoe lager de rangorde, hoe minder details. De Product Backlog items waarmee het Ontwikkelteam de komende Sprint aan de slag gaat zijn zo ver verfijnd dat elk item “Klaar” kan zijn binnen een Sprint. De Product Backlog items die door het Ontwikkelteam “Klaar” kunnen zijn binnen een Sprint worden beschouwd als “Ready” voor selectie in een Sprint Planningsbijeenkomst. Product Backlog items verkrijgen deze mate van transparantie over het algemeen door de verfijningsactiviteiten die hierboven beschreven staan.
Het Ontwikkelteam is verantwoordelijk voor alle schattingen. De Product Owner mag het Ontwikkelteam beïnvloeden door te helpen bij het begrijpen en maken van afwegingen, maar de mensen die het werk moeten doen maken de uiteindelijke schatting.
Controle op de voortgang tot een doel
Op elk moment in de tijd kan het totale werk, dat nog nodig is om een doel te bereiken, worden opgeteld. De Product Owner houdt de totale resterende hoeveelheid werk bij, op zijn minst elke Sprint Review. De Product Owner vergelijkt dit totaal met de resterende totale hoeveelheid werk uit eerdere Sprint Reviews om een inschatting te maken of het resterende werk binnen de gewenste tijd kan zijn afgerond voor het gestelde doel. Deze informatie wordt transparant gemaakt voor alle stakeholders.
Verschillende voorspel-technieken voor trendanalyse: burn-down, burn-up en andere predictie- methoden zijn gebruikt om voortgang te voorspellen. Deze zijn nuttig gebleken. Echter, ze vervangen niet het belang van empirisme. In complexe omgevingen is niet bekend wat er in de toekomst gaat gebeuren. Alleen wat er is gebeurd mag gebruikt worden voor toekomstgerichte besluitvorming.
Sprint Backlog
De Sprint Backlog is de verzameling Product Backlog items geselecteerd voor de Sprint inclusief het plan voor opleveren van het product Increment en voor realisatie van het Sprint Doel. De Sprint Backlog is een voorspelling door het Ontwikkelteam over de functionaliteit die aanwezig zal zijn in het volgende Increment en het werk dat nodig is om die functionaliteit te leveren in een “Klaar” Increment.
De Sprint Backlog maakt al het werk zichtbaar dat het Ontwikkelteam heeft geïdentificeerd als noodzakelijk voor behalen van het Sprint Doel.
De Sprint Backlog is een plan met voldoende detail zodat veranderingen in de voortgang begrepen kunnen worden in de Dagelijkse Scrum. Het Ontwikkelteam past de Sprint Backlog gedurende de Sprint aan, en de Sprint Backlog ontwikkelt zich gedurende de Sprint. Deze ontwikkeling gebeurt als het Ontwikkelteam het plan afwerkt en meer leert over het werk dat nodig is om het Sprintdoel te halen.
Als er nieuw werk nodig is voegt het Ontwikkelteam dat toe aan de Sprint Backlog. Wanneer werk wordt uitgevoerd of afgerond wordt de schatting van het resterende werk bijgesteld. Als onderdelen van het plan overbodig blijken, worden ze verwijderd. Alleen het Ontwikkelteam kan haar Sprint Backlog bijwerken gedurende een Sprint. De Sprint Backlog is een zeer zichtbaar, real-time beeld van het werk dat het Ontwikkelteam van plan is te doen gedurende de Sprint, en het behoort uitsluitend toe aan het Ontwikkelteam.
Controle op Sprint voortgang
Op elk moment in de Sprint kan de totaal resterende hoeveelheid werk voor de Sprint Backlog items worden opgeteld. Het Ontwikkelteam houdt dit totaal minstens voor elke Dagelijkse Scrum bij om de waarschijnlijkheid van het halen van het Sprintdoel te projecteren. Door het bijhouden van de resterende hoeveelheid werk gedurende de Sprint kan het Ontwikkelteam haar voortgang bewaken.
Increment
Het Increment is het totaal van alle Product Backlog items voltooid tijdens een Sprint en de opgeleverde waarde van de Incrementen van alle voorgaande Sprints. Aan het eind van een Sprint moet het nieuwe Increment “Klaar” zijn, wat betekent dat het in bruikbare toestand is en voldoet aan de Definitie van “Klaar” gebruikt door het Scrum Team. Het moet in bruikbare conditie zijn ongeacht of de Product Owner daadwerkelijk besluit het in gebruik te nemen.
Artefact Transparantie
Scrum is afhankelijk van transparantie. Beslissingen die genomen worden om de waarde te optimaliseren en risico’s te beheersen, worden genomen op basis van de waargenomen toestand van de artefacten. Voor zover de transparantie compleet is, hebben deze beslissingen een goede basis. Als de artefacten niet geheel transparant zijn, kunnen deze beslissingen verkeerd zijn, neemt waarde af en neemt risico toe.
De Scrum Master werkt met de Product Owner, het Ontwikkelteam, en andere betrokken partijen om duidelijk te krijgen of de artefacten volledig transparant zijn. Er zijn practices voor het omgaan met onvolledige transparantie; de Scrum Master moet iedereen helpen om de meest toepasselijke practices te gebruiken in geval van absentie van volledige transparantie. Een Scrum Master kan onvolledige transparantie detecteren door de artefacten te inspecteren, patronen te herkennen, nauwkeurig te luisteren en verschillen te vinden tussen verwachte en echte resultaten.
Het is de taak van de Scrum Master om met het Scrum Team en de organisatie de transparantie van de artefacten de vergroten. Dit werk behelst meestal leren, overtuigen en verandering.
Transparantie zal niet plotsklaps plaatsvinden; het is een traject.
Definitie van “Klaar” (Definition of “Done”)
Indien een Product Backlog item wordt omschreven als “Klaar”, moet iedereen begrijpen wat “Klaar” betekent. Hoewel dit significant verschilt per Scrum Team, moeten de teamleden een gezamenlijk begrip hebben wat het betekent om het werk af te hebben, om transparantie te kunnen garanderen. Deze “Definitie van Klaar” (“Definition of Done”) voor het Scrum Team wordt gebruikt om te controleren wanneer het werk voor een product Increment klaar is.
Dezelfde definitie helpt het Ontwikkelteam te bepalen hoeveel Product Backlog items zij kunnen selecteren tijdens de Sprint Planning. Het doel van elke Sprint is om Incrementen van potentieel opleverbare functionaliteit te leveren die voldoen aan de huidige Definitie van “Klaar” van het Scrum Team.
Ontwikkelteams leveren elke Sprint een Increment van product functionaliteit . Dit Increment is bruikbaar, zodat een Product Owner kan besluiten dit onmiddellijk in gebruik te nemen. Als de ontwikkelorganisatie al een Definitie van “Klaar” heeft als conventie, standaard of richtlijn, zullen alle Scrum Teams deze tenminste moeten volgen. Als de ontwikkelorganisatie nog geenDefinitie van “Klaar” heeft als conventie, standaard of richtlijn, zal het Ontwikkelteam van het Scrum Team zelf een Definitie van “Klaar” moeten definiëren die geschikt is voor het product. Als er meerde Scrum Teams werken aan hetzelfde systeem of productrelease, moeten de Ontwikkelteams van alle Scrum Teams gezamenlijk de Definitie van “Klaar” definiëren.
Elk Increment is additief aan alle voorgaande Incrementen en grondig getest zodat wordt gegarandeerd dat alle Incrementen samen werken.
Naarmate Scrum Teams meer volwassen worden, is de verwachting dat hun Definitie van “Klaar” uitgebreid wordt met striktere criteria ten behoeve van een hogere kwaliteit. Elk product of systeem zou een Definitie van “Klaar” moeten hebben die als standaard geldt voor elk werk wat eraan gedaan wordt.
Eind noot
Scrum is gratis en wordt aangeboden middels deze gids. De rollen, artefacten, gebeurtenissen en regels van Scrum staan vast. Hoewel het implementeren van delen van Scrum mogelijk is, is het daaruit volgend resultaat geen Scrum. Scrum bestaat slechts als geheel en functioneert goed als container voor andere technieken, methodologieën en practices.
Mensen
Van de duizenden mensen die hebben bijgedragen aan Scrum, moeten we toch een paar mensen uitlichten die sleutelrollen hebben vervuld in de eerste tien jaar. Als eerste Jeff Sutherland , samenwerkend met Jeff McKenna, en Ken Schwaber samen met Mike Smith en Chris Martin. En dan natuurlijk nog vele anderen, zonder wiens hulp Scrum niet verfijnd zou zijn tot wat het vandaag is.
Geschiedenis
Ken Schwaber en Jeff Sutherland hebben samen Scrum voor het eerst gepresenteerd tijdens de OOPSLA conferentie in 1995. Deze presentatie documenteerde datgene wat Ken en Jeff geleerd hadden gedurende de voorgaande jaren bij het toepassen van Scrum.
De geschiedenis van Scrum wordt nu al beschouwd als lang. Ter ere van de eerste plekken waar het werd geprobeerd en verfijnd noemen we hier Individual, Inc., Fidelity Investments, en IDX (nu GE Medical).
De Scrumgids documenteert Scrum zoals ontwikkeld en ruim twintig jaar in stand gehouden door Jeff Sutherland en Ken Schwaber. Andere bronnen voorzien u van patterns, processen en inzichten die het Scrum raamwerk ondersteunen. Deze optimaliseren de productiviteit, waarde, creativiteit, en trots.