Wat is Scrum en waarom is dat relevant voor gamebouwers?

In de ‘harde’ IT wereld (zeg maar waar grote software wordt geschreven voor banksystemen of de ontwikkeling van grote applicaties) is Scrum al sinds de jaren 90 het buzzing woord. Maar wat is Scrum? En kan je dat ook gebruiken bij het maken van gamesoftware? Want het bouwen van games is toch voor een groot deel het programmeren van software. Kunnen we dan iets leren van andere (algemene) softwareontwikkelaars?

Scrum is een manier van samenwerken

Allereerst, het gaat over projecten en over samenwerken. Scrum is een (relatief) nieuwe manier van je project uitvoeren. Hoe vroeger software gemaakt werd (en nog steeds wel bij veel organisaties) is dat het product van te voren werd gespecificeerd, ontworpen en dan in stappen (fases) werd gebouwd, getest en opgeleverd. Dit wordt ook wel de waterval benadering genoemd.

De waterval benadering van software ontwikkeling
De waterval benadering van software ontwikkeling

Alhoewel het op papier een slimme manier van projectmanagement lijkt, heeft de waterval benadering wel een paar grote problemen, bijvoorbeeld:

  • Software verandert steeds
  • Er wordt pas laat in het bouwproces getest, waardoor fouten pas laat opgemerkt worden
  • Er worden allemaal dingen bedacht door softwareontwerpers die de gebruikers helemaal niet wilden of nodig hadden
  • Er ontstaan snel communicatieproblemen tussen de opdrachtgevers, ontwerpers, bouwers en/of testers
  • De planningen van wanneer de software klaar is, lopen steeds enorm uit (en ook de kosten).

De oplossing van Scrum

Hoe hebben ze nu verbeterd met een Scrum projectaanpak (ook wel “agile” genoemd)? In een Scrum team gaan ze niet uitgebreid een projectplan maken en een dik ontwerp van de software die gemaakt gaat worden. Ze vinden dat maar een hoop bureaucratische rompslomp die toch niet helpt bij het project. Immers tijdens het bouwen blijkt toch steeds  dat het weer nét even anders moet. En als het plannen toch niet lukt, waarom dan niet gewoon beginnen met bouwen (programmeren)?

Het Scrum principe is in de kern eigenlijk heel simpel: je maakt een (grove) lijst van wat er moet gebeuren. Je kiest een beperkt aantal onderdelen van die lijst die je als eerste gaat doen in een korte periode van 1-4 weken en na die periode (dit noemen ze een “sprint” in Scrum) kijk je weer wat dan het belangrijkste is om te doen.

Zo hou je de flow in je werk, je kan veel makkelijker je project aanpassen en bijsturen en je merkt veel sneller dat er fouten zitten in je software (immers na elke sprint is er een moment van evaluatie en wordt er uitgebreid tussendoor getest)

Wat gebeurt er in een Sprint (ook wel timebox)?
Wat gebeurt er in een Sprint (ook wel timebox)?

Er zijn nog wel wat meer details aan de Scrum methode die relevant zijn en waar je op moet letten, maar in de essentie komt het hier op neer: maak een grove ‘todo’ lijst en neem elke sprint (periode, timebox) een deel van die lijst, bouw dat, test dat en lever dat op. En besluit dan – met het voortschrijdend inzicht- wat het volgende belangrijke onderdeel van je todo lijst is om te maken. En oh ja, je ‘todo’ lijst (in scrum termen heet dat een “product backlog”) mag veranderen. Dingen die eerst belangrijk leken, kunnen zakken op de lijst of nieuwe elementen kunnen worden toegevoegd, zoals nieuwe ideeën.

En gameprojecten dan?

En hoe zit dat dan met het maken van een videogame? Heeft Scrum dan ook voordelen?
Allereerst: Scrum is een teambenadering, dus als je als indy developer in je eentje werkt of met zijn tweeën dan heeft Scrum niet zoveel nut, maar als je team groter wordt (vanaf een man of 6) dan zal je meer coördinatie en structuur in je samenwerking nodig hebben.  Dit geldt niet alleen voor professionele gameprojecten, ook als je een game hobbymatig met een groep vrienden maakt heb je coördinatie nodig. Wat moet er eerst gebeuren?, wat is de taakverdeling (programmeren, testen met gamers, art design, sound design, gamedesign, enzovoort)? Scrum kan dan helpen.

Waarom is Scrum dan juist zo relevant voor gamedev en ook hier te prefereren boven de waterval methode? Het grote probleem met de watervalmethode is dat je vooraf je hele gameontwerp moet bedenken. En het blijkt gewoon dat – hoe goed je game idee ook lijkt – dat je je gameontwerp altijd zult moeten bijstellen. Vaak blijkt dat bij het testen met gamers. Elementen waarvan jij als gamedesigner dacht dat het interessant was, blijken niet te werken omdat gamers onverwacht het spel anders spelen. Levels van je game blijken te moeilijk of juist saai en de AI blijkt heel anders uit te pakken. Cursisten van onze gamedesign cursus leren dat. Een van de bestverkochte games ooit: The sims moest maar liefst 11 x herontworpen worden voordat hij goed genoeg was om te verkopen. Als Will Wright dit al had, dan is de kans groot dat dat ook geldt voor jouw gameproject.

Scrum biedt juist die flexibiliteit om je gameidee en gameontwerp –tijdens het bouwen al– aan te passen en te verbeteren. Je voorkomt dus dat je maanden aan een gameontwerp bouwt dat net niet leuk blijkt te zijn. Je merkt het veel eerder en kan dan al bijstellen.

Scrum training

Scrum is dus een prachtig manier om met middelgrote groepen je game te gaan ontwerpen en bouwen in stappen (sprints). Wil je weten hoe scrum precies voor jouw team kan werken? Of wil je misschien Scrum Master worden, zodat je dat later kunt gebruiken in professionele gameprojecten? Doe dan mee met een van onze trainingen Scrum. Deze worden gegeven in samenwerking met het bureau www.projectmanagement-training.nl dat gespecialiseerd is in hoe je een project moet aanpakken. De Scrum training is in tegenstelling tot de meeste van onze cursussen niet online, maar is ‘live’ met een docent en een groep deelnemers. De training duurt een dag en wordt een paar keer per jaar gegeven op verschillende plaatsen in Nederland en België. Wil je meedoen? Kijk dan hier voor meer informatie.

Scrummen van een gamedev team
Scrum in actie bij een gamedev team

Lees ook: Wat is Scrummen?