MAATWERK
SOFTWARE
SCRUM METHODE

 

Een kleine toelichting over de SCRUM werkwijze

SCRUM

Om het verschil tussen Scrum vs Agile te begrijpen moeten we eerst even terug naar de basis. Agile software development is een algemene term voor een groep van software ontwikkel methodes.

De grote gemene deler van alle Agile methodieken is dat ze iteratief en stapsgewijze ontwikkeling ondersteunen. Deze methoden staan dan ook lijnrecht tegenover traditionele (waterval) ontwikkelmethoden, waarbij eerst alle wensen en eisen in kaart worden gebracht voordat er ook nog maar iets ontwikkeld is. Met Agile worden deze wensen en eisen steeds duidelijker gedurende de ontwikkeling van de producten of diensten.

Wat onderscheidt Scrum dan van andere Agile methodieken?

Scrum is een behoorlijk simpele en flexibile Agile methode. 

Het kan gebruikt worden voor eigenlijk ieder product of dienst (software en niet software). Simpel, flexibel en makkelijke communicatie en samenwerking zijn de belangrijkste kenmerken van Scrum. Er zijn maar 3 rollen te onderscheiden binnen Scrum, namelijk Product Owner, Scrum Master en Developers

SCRUM?

Scrum is een Agile raamwerk – een effectievere en flexibelere manier van werken – die het voor een team mogelijk maakt projecten op een productievere wijze op te leveren en eventuele problemen snel te tackelen. Scrum is bij uitstek geschikt voor complexe projecten waarvoor je op voorhand geen detailplanning kunt maken.

Binnen SCRUM kennen we een aantal diciplines:

  • SCRUM MASTER is diegene die het scrum proces begeleidt. Deze persoon zorgt ervoor dat het team optimaal kan presteren. De ontwikkelaars en de scrum master werken samen met de produt owner
  • PRODUCT OWNER fungeert als intermediair tussen klant en de ontwikkelaars. De taak van de product owner is om de eisen en wensen van de klant te waarborgen en deze door te geven aan het team.
    De wensen worden ook wel user stories genoemd en staan op een lijst, de product backlog. De wensen met de hoogste prioriteit worde opgenomen in een sprint backlog, die verwijst naar taken waaraan gewerkt moet worden tijdens een bepaalde sprint.

Met een sprint wordt een afgebakende tijdsperiode van maximaal een maand aangeduid. Een sprint begint met een Sprint Planning, en eindigt met een Sprint Review en Sprint Retrospective meeting.

Hoeveel sprints er van toepassing zijn, verschilt per project. Sommige Scrum Teams zijn zelfs stabiele teams voor onbepaalde tijd. Om de taken binnen een sprint goed uit te voeren, is onderling overleg tussen de teamleden noodzakelijk.

Na elke sprint wordt een (deel)product opgeleverd, waarna een evaluatie volgt en er ruimte is voor feedback vanuit onder andere de klant. Dit wordt gedaan om ervoor te zorgen dat het Scrum Team in korte cycli verbetert en zo veel mogelijk waarde oplevert in zo min mogelijk tijd.

Na de review vindt de Retrospective plaats waar het team los van de inhoud evalueert op de samenwerking tijdens de Sprint. Na deze evaluatiemomenten begint het proces weer opnieuw in de volgende sprint

SPRINT

Een Scrum Sprint is een vooraf vastgestelde time-box waarbinnen een bepaald onderdeel van het Scrum project afgerond moet zijn. Elke Scrum Sprint binnen het project heeft dezelfde time-box en deze Sprints volgen elkaar elke keer direct op. Een Sprint duurt maximaal een maand waarbij wij gemiddeld twee weken hanteren.

Na elke sprint wordt een (deel)product opgeleverd, waarna een evaluatie volgt en er ruimte is voor feedback vanuit onder andere de klant.

SPRINT PLANNING

Een Sprint kent 4 meetings. De eerste meeting is de Sprint Planning en vindt plaats op de eerste dag van de Sprint. In deze meeting wordt door het gehele Scrum Team een sprintdoel bepaald en een plan gemaakt om het sprintdoel te bereiken.

De Product Owner legt tijdens de Sprint Planning de hoogst geprioriteerde User Stories van de Product Backlog voor aan de Developers. Hierbij licht de Product Owner de Product Backlog dusdanig toe dat iedereen deze begrijpt.

    USER STORIES

    Een User Story is een korte, eenvoudige beschrijving van een behoefte van de eindgebruiker. Een kort verhaaltje, geschreven vanuit het oogpunt van die eindgebruiker.  

    Een User Story is geen functionele beschrijving, maar maakt duidelijk wat een eindgebruiker wil, of nodig heeft en ook waarom dat nodig is. Bijvoorbeeld:
     

    • Als zorgverlener, wil ik inzicht in de medicatiehistorie van de patiënt, zodat ik bij twijfel de nieuw voorgeschreven dosering gemakkelijk kan verifiëren.

    product backlog refinement

    De  Product Backlog wordt weer klaar wordt gemaakt voor een volgende Sprint Planning meeting. In een Backlog refinement sessie doe je met de Developers:

    • Bijwerken van de User Stories naar laatste inzichten
    • Prioriteren van User Stories
    • Detailleren en splitten van User Stories
    • Inschatten van User Stories door de Developers

      SPRINT REVIEW

      De Sprint Review is bedoeld als het officiële moment tijdens elke sprint waarin het Scrum Team aan de Stakeholders het gemaakte (deel)product toont. De Stakeholders geven hun feedback naar aanleiding van het (deel)product dat gedemonstreerd is.

      Deze demonstratie moet letterlijk genomen worden. Het is dus geen PowerPoint-presentatie met daarin een weergave van de doelen en resultaten, maar het daadwerkelijk laten zien van het opgeleverde werk

      sprint retrospective

      Een Sprint Retrospective is een standaard onderdeel van het Scrum framework. Aan het einde van een sprint reflecteert het team – los van de inhoud – op het teamproces, hun werkwijze, en de onderlinge relaties. Ieder team is samengesteld om een specifiek doel te bereiken. Het bereiken van dat doel is alleen mogelijk wanneer er samengewerkt wordt. En samenwerken gaat niet altijd vanzelf. Een Agile Retrospective op frequente basis zorgt ervoor dat een groep individuen transformeert tot een effectief team.

          product backlog

          De Scrum Product Backlog is een van de essentiële onderdelen van een succesvol scrumproject. Een goede Product Backlog kenmerkt zich door een viertal elementen. Als ezelsbrug kun je onthouden dat een goede Product Backlog “DEEP” 

          • DETAILED (gedetailieerd)
          • EMERGENT (ontwikkelt zich gaandeweg)
          • ESTIMATE (ingeschat)
          • PRIORITIZED (geprioriteerd)

          definition of done

          Een Definition of Done geeft een duidelijke omschrijving van hoe een opgeleverde Product Backlog item er uit moet zien. Het is een manier om de kwaliteit van opgeleverde producten binnen Scrum te borgen. Het zorgt voor transparantie en duidelijkheid. Developers geven commitment op het volgen van de Definition of Done.

          Een Definition of Done is een checklist met activiteiten die afgevinkt moet worden voor iedere User Story. Dat betekent dus dat het activiteiten zijn die voor iedere User Story van toepassing zijn