Gepubliceerd op

Er zijn een aantal manieren om de agile werkwijze toe te passen. De Scrum-methode is daar de bekendste van. Veel softwareontwikkelingsteams werken volgens deze aanpak. Heel begrijpelijk, want softwareontwikkeling op basis van Scrum kent veel voordelen. Maar wat is Scrum eigenlijk, wat zijn de voordelen van Scrum en hoe pas je deze methode toe?

Wat is Scrum?

Scrum is een werkwijze waarbij je al doende je werk aanpast aan de nieuwste ontwikkelingen binnen het project. Zo wordt een webapplicatie tijdens het ontwikkelproces stap voor stap ontwikkeld en worden wijzigingen omarmd zodat het product precies aansluit bij de wensen van de klant. Een hele andere benadering dan de oude, vertrouwde aanpak. Daarbij wordt eerst het project afgebakend en vervolgens exact zo opgeleverd. Pas daarna wordt gekeken of het eindresultaat eigenlijk nog wel voldoet aan de eisen. Dat is dus vaak niet het geval, want niets is veranderlijker dan softwarebehoeften.

De belangrijkste uitgangspunten van Scrum

Scrum valt onder de agile werkwijzen. Er zijn veel softwareontwikkelmethoden die gebaseerd zijn op de agile principes. De Scrum-methode is te herkennen aan de volgende uitgangspunten:

  • Er wordt gewerkt met zelfsturende en multidisciplinaire teams zonder hiërarchie;
  • Klant, opdrachtgever en/of gebruikers maken onderdeel uit van het team;
  • Er wordt gewerkt op basis van overzichtelijke doelen met een kort tijdspad. Dit zijn de zogenaamde sprints– waarbij elke een tot twee weken er een nieuw softwareproduct wordt opgeleverd;
  • Rechtstreekse en regelmatige communicatie is belangrijk, net als snel schakelen. Bottlenecks of wijzigingen in de eisen worden direct binnen het team gedeeld, zodat het product gelijk kan worden aangepast.

Scrum is dus vooral een werkwijze die zich kenmerkt door ritme, snelheid en flexibiliteit. Andere agile werkmethoden focussen weer op andere kernwaarden. Zo wordt bij de Kanbanmethode veel waarde gehecht aan het visualiseren van het ontwikkelproces en draait het bij Lean vooral om het weglaten van alles dat geen waarde toevoegt voor de klant. Elke agile methode heeft zijn eigen voordelen. Het gebeurt dan ook vaak dat aspecten uit meerdere agile werkmethoden naast elkaar worden gebruikt.

Hoe werkt Scrum in de praktijk?

De agile denkwijze raadt sterk af om vast te houden aan vooropgezette regels, draaiboeken en protocollen. Dat wil echter niet zeggen dat je bij Scrum zomaar wat doet. Er zit weldegelijk een plan van aanpak achter deze methode. Softwareontwikkeling met Scrum ziet er in de praktijk als volgt uit:

  • Het team van softwareontwikkelaars is klein; de groep bestaat meestal uit niet meer dan 3 tot 9 personen. Er is in principe geen top down-hiërarchie, maar de groepsleden hebben wel verschillende rollen. Dat bevordert de samenwerking en waarborgt een snelle doorlooptijd.
  • Het team overlegt regelmatig. Op gezette tijden zijn er Scrum Meetings. Er zijn verschillende soorten meetings, die samen Scrum Ceremonies worden genoemd.
  • Het product wordt met korte tussenpozen (de zogenaamde Sprints) in delen opgeleverd. Zo wordt continue gewerkt aan een perfect eindresultaat waarin alle wijzigingen gaandeweg zijn opgenomen.

Scrumrollen 

Binnen het ontwikkelteam worden een aantal verschillende rollen toegekend. Deze Scrumrollen hebben allemaal een eigen functie.

Scrum master

De Scrum master is degene die het team aanstuurt. Niet in de zin van projectmanagement, maar meer qua logistiek. De Scrum master is er verantwoordelijk voor dat het team alle taken goed kan uitvoeren. Zijn er extra trainingen nodig? Is alles aanwezig voor de komende vergadering? Worden teamleden onnodig gestoord door externe factoren? Of begrijpt iemand niet helemaal wat er moet gebeuren? De Scrum master regelt of fikst het. In feite is hij/zij de ‘curlingouder’ van het team: alle obstakels worden uit de weg geruimd, zodat het team geen vaart verliest en ongehinderd kan afstevenen op het doel.

Belangrijk om te weten: het is dus niet de taak van de Scrum master om zich bezig te houden met personeelszaken, zoals het selecteren van teamleden of het vaststellen van beloningsconstructies. Hij of zij bepaalt ook niet hoe het team de werkzaamheden moeten uitvoeren. Dit zou namelijk toch weer een hiërarchische rolverdeling opleveren, en binnen het Scrum-team is iedereen gelijk.

Product owner

De Product owner is het teamlid dat de belangen van de klant scherp in de gaten houdt. Deze persoon kan dus ook de klant of opdrachtgever zelf zijn. 

Een van de key-taken van de Product owner is het opstellen en beheren van de Product backlog. Dit is een document waarin alle items die tijdens het ontwikkelproces moeten worden uitgevoerd, staan omschreven. De Product owner geeft aan welke taken daarbij prioriteit hebben. Ook alle wijzigingen en uitbreidingen worden door de Product owner in de backlog bijgehouden. De items in de Product backlog worden ook wel User stories genoemd.

Ontwikkelteam

De rest van het Scrumteam heeft natuurlijk ook genoeg taken. Het team is verantwoordelijk voor alle fasen van het softwareontwikkelproces. Naast de analyse, het ontwerp en de daadwerkelijke ontwikkeling, draagt het team ook zorg voor het uitvoeren van de testen en het verzorgen van de documentatie. Het team bepaalt zelf wie welke taken uitvoert. Zo wordt optimaal gebruik gemaakt van de verschillende expertises binnen het team.

Scrum meetings (ceremonies)

Regelmatig overleggen bevordert een goede communicatie en voorkomt onnodige vertraging in het project. De Scrum-methode werkt op basis van Ceremonies; verschillende soorten meetings met elk een eigen doel.

Project start

Aan het begin van het project overlegt het team over de praktische zaken, zoals de samenstelling van het team, de doelstelling van het project, de beoogde deadline en het budget. Dit is een eenmalige meeting die alleen bij de aanvang van het project plaatsvindt. Wel een hele belangrijke, want een goed begin is natuurlijk het halve werk.

Daily scrum (Daily stand-up)

Iedere nieuwe werkdag is er een Daily scrum; een korte meeting van maximaal 15 minuten. Het team komt dan bijeen om snel te overleggen over de komende dag. Daarbij beantwoordt ieder teamlid de volgende vragen:

  • Wat heb ik de afgelopen dag bereikt?
  • Wat is de doelstelling voor de komende dag?
  • Welke knelpunten worden er verwacht en hoe kunnen we die oplossen?

De Daily scrum, ook wel de Daily stand-up genoemd, wordt meestal iedere dag op het zelfde tijdstip en op dezelfde locatie gehouden. Daarbij wordt sterk vastgehouden aan de maximale tijdsduur van een kwartier.

Sprint planning

Voor aanvang van een sprint wordt vastgesteld wat de doelstellingen zijn, wie wat doet en wanneer het product wordt opgeleverd. Zo’n Sprint planning vindt een keer in de een tot twee weken plaats en mag maximaal acht uur duren. De tijd voor deze ceremonie wordt verhoudingsgewijs bepaald ten opzichte van de totaal beschikbare tijd in de sprint.

Sprint review

Aan het einde van iedere Sprint, komt het team bijeen om het opgeleverde product te presenteren. De Product Owner nodigt hiervoor ook de stakeholders uit. Zij mogen in dit stadium feedback geven. Verder wordt de backlog aangepast en er wordt gekeken of de resultaten van de afgelopen Sprint invloed hebben op de items voor de volgende Sprint. De Sprint review duurt maximaal vier uur. De tijd voor deze ceremonie wordt verhoudingsgewijs bepaald ten opzichte van de totaal beschikbare tijd in de sprint.

Sprint retrospective

Na iedere Sprint wordt er ook geëvalueerd. Wat ging er goed, wat kan beter, waar zaten de bottlenecks en hoe kunnen we die in de volgende Sprint voorkomen? Het gaat in deze meeting voornamelijk over het functioneren van het team. Stakeholders zijn hier niet bij aanwezig. De Sprint retrospective duurt niet langer dan drie uur. De tijd voor deze ceremonie wordt verhoudingsgewijs bepaald ten opzichte van de totaal beschikbare tijd in de sprint.

Scrum hulpmiddelen (artifacts)

Het Scrum team maakt gebruik van verschillende hulpmiddelen, ook wel Scrum artifacts genoemd. We zetten ze even op een rij:

  • Product backlog. In dit document worden alle User stories (items) genoteerd. Welke producten moeten er worden geleverd? Welke taken moeten er worden uitgevoerd, wat is de waarde hiervan voor de klant, wanneer is de deadline en wie voert wat uit? De Product backlog is het overkoepelende plandocument en gaat uit van het hele project. De Product Owner is verantwoordelijk voor het bijhouden van wijzigingen en het rangschikken van de prioriteiten binnen de backlog.
  • Sprint backlog. Het ontwikkelproces wordt opgedeeld in Sprints. Een Sprint backlog bevat een overzicht van de taken die tijdens de Sprint moeten worden uitgevoerd. Het gaat hier dus om de planning van een korte periode, meestal zo’n twee tot drie weken. Gaandeweg kan het team de backlog aanpassen, bijvoorbeeld als blijkt dat er meer taken moeten worden uitgevoerd dan van te voren was voorzien.
  • Scrum board. Alle items op de to do-lijst van een Sprint worden op een planbord (Scrum board) genoteerd, meestal met behulp van post-it memoblaadjes of een digitaal board. Zo wordt goed zichtbaar welke taken nog openstaan, aan welke taken wordt gewerkt en welke al zijn afgerond. Het team bepaalt zelf onderling wie welk item oppakt.

De belangrijkste voordelen van Scrum

Het werken volgens de Scrum-methode kent behoorlijk veel voordelen als je het vergelijkt met de klassieke watervalmethode. De belangrijkste pluspunten van Scrum zetten we even op een rij.

  • Dankzij de regelmatige meetings, evaluaties en de directe communicatie kan het team heel efficiënt werken;
  • De snelle en flexibele manier van werken, wordt door de medewerkers als prettig ervaren, net als de afwezigheid van een top down-hiërarchie binnen het team.
  • De Scrum-aanpak zorgt voor een transparantie. Alle betrokkenen – ook de klant- weten wat er speelt, wat er goed gaat en wat er minder goed loopt. Dat schept onderling vertrouwen.
  • Door de snelle oplevertijden kan de klant al direct gebruikmaken van delen van het product. Dit draagt bij aan een hogere ROI (return on investment);
  • Omdat het ontwikkelproces wordt opgedeeld in korte Sprints, kan het product voortdurend worden aangepast aan nieuwe wensen of gebruikerseisen. Die flexibiliteit zorgt voor meer tevredenheid bij de klant. Het zorgt er ook voor dat er geen overbodige of achterhaalde softwareproducten meer worden ontwikkeld.

Succesverhalen

Twijfel je nog aan de voordelen van de Scrum-methode? Deze succesverhalen trekken je misschien alsnog over de streep:

  • British Telecom ging in 2004 over van de watervalmethode op de agile-methode, waarbij gebruik werd gemaakt van de agile werkwijzen Scrum en XP.  Na twee jaar wilde het bedrijf niet meer terug naar de oude manier van werken. Dankzij Scrum werden de oplevertijden teruggebracht van een keer per 12 maanden naar een keer per 90 dagen. Ook werden er minder bugs in de eindproducten aangetroffen. Het team was bovendien een stuk beter gemotiveerd.
  • National Bank of Canada switchte in 2012 naar een Scrum-aanpak. Niet eenvoudig, want het bankwezen heeft te maken met strenge compliance-regels. De NBoC wist uiteindelijk een middenweg te vinden, waardoor ze toch flexibeler konden werken zonder de regels te overtreden. 
  • BOL.com behoort tot de grootste webwinkels in Nederland. Door de snelle groei, maar ook door de veranderende markt, was er meer behoefte aan flexibiliteit en een snellere oplevering van softwareproducten. Dankzij de Scrum-methode, die in 2009 werd ingevoerd, is dit gelukt. Inmiddels beschikt het bedrijf over meer dan 30 Scrum teams en is de gemiddelde time-to-market teruggegaan naar 7 weken.

Softwareontwikkeling met Scrum bij Web Whales

Is de Scrum-methode dan alleen geschikt voor grote multinationals? Zeker niet! Scrum is ook voor kleinere en middelgrote bedrijven een prima manier om sneller en flexibeler te produceren. Ook bij Web Whales doen we aan softwareontwikkeling met Scrum. Wil je meer weten over de mogelijkheden, neem dan gerust even contact op. We delen onze expertise graag met je!

Geschreven door

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *