Softwareontwikkeling was lang een betrekkelijk traag en arbeidsintensief proces dat men uitvoerde volgens een strak, vooraf grotendeels in steen gebeiteld stappenplan. Maar tijden veranderen. Moderne software wordt meestal “agile” ontworpen. Agile is een verzamelnaam voor methoden die daadwerkelijk de behoeften van de klant centraal stellen en voortdurend inspelen op de wijzigingen die zich voordoen tijdens het ontwikkelproces. Een werkwijze die nog steeds professioneel, maar ook flexibel en snel is.

Scrum is een van de populairste vormen van projectmanagement binnen het agile-spectrum. In dit artikel leest u precies wat scrum is en maakt u kennis met de verschillende onderdelen van en rollen binnen het proces.

Wat is scrum?

Het begrip scrum (ontleend aan een term uit de rugbysport) slaat in de softwareontwikkeling op een vorm van projectmanagement die een flexibele en productieve manier van werken faciliteert en de doorlooptijd van ontwerp naar eindproduct verkort. U werkt in multidisciplinaire teams die in korte sprints (meestal duurt een sprint één tot vier weken) werkende producten opleveren.

Scrum is een werkwijze die soelaas biedt bij grote projecten, maar ook bij het ontwikkelen van producten voor klanten of gebruikers die nog niet zo goed weten wat ze precies willen. Scrum biedt namelijk de flexibiliteit om tussentijds en in de late stadia van het ontwikkelproces nog wijzigingen aan te brengen.

 

Werken volgens de scrum-methode heeft een aantal belangrijke voordelen:

  • Omdat er met korte sprints wordt gewerkt, ziet een ontwikkelteam snel of het op het goede spoor zit. Dit beperkt de risico’s van langdurige projecten waarin gebruikers of klanten soms pas na een jaar het resultaat kunnen zien en uitproberen.
  • De lijntjes tussen het ontwikkelteam, de opdrachtgever en alle andere stakeholders zijn kort.
  • Stakeholders kunnen meekijken en worden actief betrokken bij het ontwikkelproces. Het resultaat: meer betrokkenheid!

Scrumrollen

Binnen een scrumteam is er een bepaalde rolverdeling. We onderscheiden drie belangrijke rollen.

  1. De product owner is een vertegenwoordiger van de opdrachtgever of klant. Hij of zij bepaalt in principe wat er moet gebeuren en hoe het ontwikkeltraject (volgorde, functionaliteiten van de te bouwen applicatie) eruitziet. Hij of zij beheert ook de product backlog: de centrale plek waar het team alle veranderingen en nieuwe toevoegingen aan de applicatie bijhoudt.
  2. De scrum master is een centrale figuur in het ontwikkelproces. Hij of zij begeleidt het team en zorgt ervoor dat de ontwikkelaars de juiste processtappen volgen. De scrum master is ook de planner. Hij plant de vergaderingen in en regelt noodzakelijke voorzieningen als de juist hardware, software en een rustige, professionele werkruimte.
  3. De ontwikkelaars zijn de mensen die elke sprint de taken uitvoeren. Zij bepalen zelf welke taken (bijvoorbeeld analyseren, ontwerpen, ontwikkelen, of testen) zij in een sprint op zich nemen en zijn verantwoordelijk voor het afleveren van een goed product aan het einde van elke sprint. Een ontwikkelteam is multidisciplinair en herbergt ontwikkelaars met verschillende specialisaties.

Scrum artifacts

De scrum artifacts zijn feitelijk de tastbare producten waarover het team in de ontwikkelfase kan beschikken. We zetten ze kort voor u op een rij.

  1. Een sprint goal is, zoals de naam al suggereert, het einddoel van een afzonderlijke sprint. Een sprint goal is de gewenste uitkomst waar het team in een specifieke sprint naartoe werkt. De product owner stelt een sprintdoel op, het ontwikkelteam voert dit uit en de stakeholders geven hun goedkeuring en leveren feedback.
  2. Product backlog is een lijst van al het werk dat u moet uitvoeren om het product te creëren en onderhouden. De product backlog is eigendom van de product owner en wordt in nauw overleg met het ontwikkelteam en alle stakeholders bijgehouden. De product backlog is een routekaart die laat zien aan welke functionaliteiten u de komende tijd gaat werken. De wensen en functionaliteiten zijn gerangschikt op basis van variabelen als waarde, risico’s en de te leveren inspanningen.
  3. Sprint backlog is eigendom van het ontwikkelteam en toont de functionaliteiten en onderwerpen waar het team tijdens de huidige sprint aan gaat werken. Ook de taken van elk teamlid staan erin vermeld.
  4. Definition of done is een checklist die u afvinkt als het team een item uit de product backlog heeft afgerond. Denk bijvoorbeeld aan zaken als documenteren, testen en reviewen.

Scrum events

Tot slot zijn er ook nog de scrum events: vaste tijdstippen binnen het scrumproces waarop de betrokkenen overleggen of zaken opleveren.

  1. Sprint planning is een meeting waarin alle betrokkenen een plan maken voor de aankomende sprint. U vertaalt items uit de product backlog naar concrete taken (user stories) waar het ontwikkelteam mee aan de slag kan.
  2. Daily scrum is een dagelijks terugkoppelmoment. Tijdens de daily scrum legt het ontwikkelteam kort (meestal in een kwartiertje) uit wat er de afgelopen 24 uur is gebeurd en wat het plan is voor het volgende etmaal. U kijkt ook naar de voortgang op basis van het vooropgestelde sprintdoel.
  3. Sprint review maakt het ontwikkelteam het resultaat van een sprint inzichtelijk en presenteert het de uitgewerkte oplossing aan de stakeholders. Die belanghebbenden kunnen op hun beurt vragen stellen aan het ontwikkelteam en eigen input leveren.
  4. Sprint retrospective brengt de samenwerking tijdens de afgelopen sprint in kaart. U licht het proces dus door om vast te stellen wat er goed en minder goed ging. Continu verbeteren is het belangrijkste doel van een sprint retrospective.
  5. Een sprint is een periode van één tot vier weken waarin u ontwikkelwerk plant, uitvoert, inspecteert en verbetert.

Meer weten?

Wilt u als zorgprofessional meer weten over het ontwikkelen van nieuwe producten of het toepassen van nieuwe werkwijzen volgens de scrum-methode? Medicine for Business helpt u graag verder.