Scrum

Veel softwarebedrijven gebruiken Scrum voor het ontwikkelen van software. Hier vind je antwoord op de vragen; wat is het, wat is een Sprint? Welke rollen kent het en welke verantwoordelijkheden heeft een Scrum Master?

Wat is Scrum?

Scrum is een iteratief raamwerk voor de coördinatie van softwareontwikkeling. Het ontleent zijn gedachtengoed aan de Agile methode, maar geeft een aantal handvatten om de samenwerking binnen softwareprojecten te bevorderen.

De kern is dat het product – conform de Agile methode – in iteraties wordt ontwikkeld, elk resulterend in een gebruiksklaar product. Het ontwikkelteam is daarbij zelfsturend en verantwoordelijk voor het verdelen van taken.

Een iteratieve methode

Bij Scrum wordt elke iteratie een Sprint genoemd. Een Sprint duurt 1 tot 4 weken. Binnen een Sprint wordt een vooraf overeengekomen hoeveelheid functionaliteit ontworpen, ontwikkeld, getest en opgeleverd. Het uitgangspunt hierachter is dat je na elke Sprint een werkend product hebt, wat in potentie in gebruik kan worden genomen.

De gedachte achter korte, elkaar opvolgende iteraties is dat de voortgang van werkzaamheden transparant wordt gemaakt. Na elke iteratie volgt er namelijk een demo waarin de ontwikkelde functionaliteit getoond wordt aan de opdrachtgever. Dat zorgt ervoor dat er op korte termijn resultaat is waarop feedback wordt geleverd. Voortschrijdend inzicht kan hierdoor snel worden doorgevoerd in een volgende Sprint. De korte cyclus van resultaat naar feedback en aanpassing van het product leidt ertoe dat het product incrementeel wordt verbeterd.

De 3 rollen in Scrum

Om de verantwoordelijkheden van elkaar te scheiden hanteert Scrum een drietal rollen: het ontwikkelteam, de Product Owner en Scrum Master. Elk heeft zijn eigen verantwoordelijkheden binnen het team, en tesamen zorgen deze voor een nauwe samenwerking.

Het ontwikkelteam

Het ontwikkelteam, ook wel Scrumteam genoemd, bestaat meestal uit 4 tot 8 specialisten. Gezamenlijk werken ze aan taken die voortkomen uit het Product Backlog. Aangezien daarvoor meestal verschillende vaardigheden nodig zijn is het ontwikkelteam altijd multidisciplinair samengesteld.

Het ontwikkelteam is zelfsturend. Dit betekent dat de Product Owner en Scrum Master zich gedurende een Sprint niet met de ontwikkeling bemoeien. Het ontwikkelteam splitst zelf taken uit en verdeelt die onderling. Problemen en obstakels worden ook binnen het team opgelost. En het team is verantwoordelijk voor het resultaat.

Product Owner

De Product Owner heeft inhoudelijk een sturende rol. Hij definieert de scope van het project en gaat over het budget. Dat doet hij natuurlijk niet alleen: vaak heeft de Product Owner een groep belanghebbenden (stakeholders) achter zich staan met wie hij het project intern bespreekt. De Product Owner is dus de vertegenwoordiger van deze groep stakeholders.

De Product Owner vertaalt de belangen van de diverse stakeholders in User Stories. Dit zijn specificaties van functionele eisen volgens een vast format. Het is de verantwoordelijkheid van de Product Owner dat deze User Stories goed gedocumenteerd zijn en dat het projectteam ze begrijpt.

Vervolgens rangschikt de Product Owner de User Stories op prioriteit. Gezamenlijk vormen ze het Product Backlog. De belangrijkste User Stories – vaak de eisen die het meeste business value geven aan het product – staan bovenaan. Dus aan de hand van de volgorde van het backlog wordt bepaald welke functionaliteit het ontwikkelteam het eerste oppakt.

Scrum Master

Dit is de persoon die het proces faciliteert. Aangezien het ontwikkelteam zelfsturend is omvat zijn functie andere taken dan die van een traditionele project manager. De Scrum Master heeft maar een beperkte autoriteit binnen het team en heeft daarmee niet zozeer een leidende maar een faciliterende rol. Hij neemt drempels weg en zorgt ervoor dat het ontwikkelteam in staat is om efficiënt aan het project te werken. Daarnaast bewaakt hij het proces door ervoor te zorgen dat de regels van Scrum worden nageleefd.

De verantwoordelijkheden van een Scrum Master:

  • coacht het team en moedigt hen aan om een product van hoge kwaliteit af te leveren
  • zorgt ervoor dat iedereen zich aan de regels houdt
  • ondersteunt het proces en helpt belemmeringen weg te nemen
  • zorgt voor transparantie
  • Scrum Master organiseert de diverse meetings die bij Scum gehouden worden
  • begeleidt het team, de Product Owner en de stakeholder(s)
  • helpt de Product Owner met het bijhouden van het Product Backlog en controleert of alle User Stories duidelijk gedocumenteerd zijn
  • controleert of alle User Stories duidelijk gedocumenteerd zijn