Wat is SCRUM?
Scrum is een flexibele manier om (software)producten te ontwikkelen binnen deze snel veranderende wereld. Bij Mediamoose passen wij scrum toe bij het ontwikkelen van IT-projecten. De term scrum komt oorspronkelijk vanuit het rugby en is een ideale methode om grote betrokkenheid te creëren bij IT-projecten en opdrachtgevers de mogelijkheid te bieden om tijdig te kunnen (bij)sturen.
Bij Mediamoose passen wij scrum toe bij het ontwikkelen van IT-projecten. Onze klanten moeten immers steeds flexibeler worden om in te kunnen spelen op de snel veranderende klantvraag. Door de nieuwste technieken, marketing en onze agile/scrum werkwijze samen te brengen, kunnen wij onze klanten in een hoog tempo ondersteunen om koploper te blijven binnen hun markt.
Wat is scrum?
Scrum is een flexibele manier om (software)producten te ontwikkelen binnen deze snel veranderende wereld. De term scrum komt oorspronkelijk vanuit het rugby en is een ideale methode om grote betrokkenheid te creëren bij IT-projecten en opdrachtgevers de mogelijkheid te bieden om tijdig te kunnen (bij)sturen. Kort gezegd is de scrum methodiek erop gericht om met een klein multidisciplinair team, doelgericht en meetbaar efficient te werken waarbij je het project opdeelt in kleine behapbare deelprojecten. Scrum werkt via vaste cycli (‘sprints’) met een vaste en korte duur, waarin telkens een werkende versie van het product wordt opgeleverd. Daardoor wordt snel feedback verkregen en kan er dus gericht gewerkt worden op het eindresultaat en het leveren van toegevoegde waarde voor de organisatie.
Rollen binnen scrum
Bij scrum hebben we te maken met drie verschillende rollen: het ontwikkelteam, Scrum Master en Product-Owner. Hieronder licht ik kort de verschillende rollen toe.
Het ontwikkelteam is een multidisciplinair team en verantwoordelijk voor het afleveren van het (software)product aan het einde van elke sprint. Binnen Mediamoose werken we per project in een scrum team van 3 tot 7 personen en zijn voornamelijk designer(s) en back-end- en front-end developers. Het team is volledig zelfsturend en zijn verantwoordelijk voor de strategische analyse, ontwerp, ontwikkeling en test & implementatie fase. Iedere sprint stelt het team een duidelijk doel en dat is een kant en klaar product opleveren dat in principe in productie genomen kan worden.
De Product-Owner is de eigenaar van het product en vertegenwoordigt de belangen van de opdrachtgever. De Product-Owner kan zowel vanuit de opdrachtgever aangesteld worden als door de opdrachtnemer zelf. De Product-Owner beheert de wensen van de opdrachtgever, is verantwoordelijk voor de product backlog en bepaalt gezamenlijk met het ontwikkelteam wat er moet gebeuren en in welke volgorde.
De Scrum Master is verantwoordelijk voor het proces en is de coach van het gehele team. Het is de verantwoordelijkheid van de Scrum Master om de snelheid in het team te houden en belemmeringen direct op te lossen. Zo zorgt de Scrum Master ervoor dat het team niet lastig wordt gevallen door derden, de focus blijft op het huidige sprint doel en de voorzieningen zoals de werkruimte, hardware en software in orde is. Daarnaast is de Scrum Master verantwoordelijk voor alle vergaderingen en het eerste aanspreekpunt voor de opdrachtgever over inhoudelijke zaken als planning en het verloop van een sprint.
Wat zijn sprints?
Een iteratie in scrum wordt een sprint genoemd. Een sprint heeft altijd een vooraf afgesproken tijdsduur (meestal 10 tot 15 werkdagen - maar nooit langer dan 1 maand) en een vastgesteld doel waaraan het ontwikkelteam zich dient te houden. Elke sprint bestaat uit een definitie van wat er gemaakt moet worden (user stories), een ontwerp, de inhoudelijke sprints zelf en het eindproduct wat bereikt moet worden aan het einde van de sprint zodat het gedemonstreerd kan worden aan de stakeholders / opdrachtgever. Daardoor is het product snel bruikbaar en kan het ontwikkelteam zo snel mogelijk feedback op het product ontvangen. Aan het begin van een sprint worden de user stories voor die sprint middels een sprint planning door de Product-Owner bepaald en vastgelegd in de sprint backlog. Aan het eind van een sprint vindt er een interne sprint review plaats. Het ontwikkelteam demonstreert dan het resultaat aan de Product-Owner alvorens het resultaat aan de stakeholders / opdrachtgever wordt gedemonstreerd. Afhankelijk van de grote van het project, wordt een project altijd opgedeeld in meerdere sprints.
Communicatie / meetings
Doordat je bij scrum in multidisciplinaire teams werkt, vrijwel altijd in één ruimte, is het gemakkelijk om met elkaar te communiceren. Hierdoor is er grote betrokkenheid tussen de teamleden, zijn er korte lijnen, is iedereen op de hoogte van de voortgang en kunnen we sneller knopen doorhakken.
Scrum kent een vast ritme van meetings waar wij ons altijd strikt aan houden. Ik zal hieronder kort omschrijven in welke volgorde wij deze per sprint houden.
UX review
De UX fase vindt plaats voordat een sprint start. Onze UX designer(s) inventariseren de processen en bedenken en ontwerpen vervolgens een prototype van hetgeen in de komende sprint ontwikkeld zou kunnen worden. Dit prototype wordt samen met de developers uitgedacht, zodat direct de technische haalbaarheid bepaalt kan worden. Vervolgens wordt de UX afgestemd met de product-owner / opdrachtgever totdat deze akkoord bevonden is.
Dit onderdeel hebben wij zelf geïmplementeerd binnen onze werkwijze omdat dit geen onderdeel is van de traditionele scrum werkwijze.
Sprint planning
Iedere sprint start met het vaststellen van het sprintdoel. Het sprintdoel omschrijft wat er aan het einde van de sprint opgeleverd dient te worden. Het sprintdoel komt prominent in de scrumruimte te hangen. De product-owner gaat samen met de teamleden bepalen welke user-stories / functionaliteiten ontwikkeld dienen te worden om het sprintdoel te halen. Voor elke user-story heeft de UX designer een wireframe (schematische tekening) uitgewerkt. Het team zal aan elke user-stories een waarde hangen om te bepalen hoeveel user-stories opgenomen kunnen worden in de betreffende sprint. Doordat de teamleden er zelf waarde aanhangen, commit het team zich aan het sprintdoel en deadline.
Daily stand-up
Zodra de sprint gestart is, wordt er iedere ochtend met het hele team een interne stand-up gehouden. Tijdens deze stand-up wordt kort de voortgang en eventuele knelpunten (hurdles) van de betreffende sprint besproken. Deze stand-up duurt maximaal 15 minuten.
Interne sprint demo
Zodra de werkzaamheden van alle teamleden zijn afgerond en het sprintdoel in zicht komt, houden wij een interne sprint demo met het hele team ter voorbereiding van de sprint review voor de klant. Zodra het product volledig functioneel getest en akkoord bevonden is door de product-owner, is het product klaar om gepresenteerd te worden aan de opdrachtgever / stakeholders.
Sprint review
In de sprint review wordt het resultaat van de sprint aan de klant / stakeholders gedemonstreerd. Het hele scrumteam is aanwezig tijdens deze review. Voor de product-owner is dit een belangrijk moment om feedback te krijgen van de klant / stakeholders. Aan het einde van de review wordt bepaald of het product shippable is, oftewel in gebruik genomen kan worden. Eventuele feedback kan meegenomen worden in de volgende sprint(s).
Evaluatie (sprint retrospective)
De retrospective is bedoeld om het team en hun werkomgeving continu beter te maken. Aan het einde van iedere sprint evalueren alle teamleden samen met de product-owner en de Scrum Master de prestaties die zijn bereikt. Ieder teamlid schrijft drie "What Went Well" & "What Can Be Better" punten op en een persoonlijk aandachtspunt. Het doel is om zowel terug te kijken op positieve resultaten als verbeterpunten. Aan de hand van deze feedback kiezen we met elkaar drie aandachtspunten die we de komende sprint willen verbeteren. Zodoende blijven we zowel het proces als het individu constant verbeteren.
Wanneer de retrospective meeting is geweest, is de sprint officieel afgerond en start de nieuwe sprint weer in exact dezelfde volgorde als hierboven omschreven.