Scrum

Scrum is een Agile ontwikkelmethode gericht op ontwerp, bouw, test en opleveren van software. In principe kan Scrum ook worden toegepast op andere doelen en resultaten dan werkende software. In de praktijk gaat het meestal om software.
Er zijn natuurlijk meer Agile methoden zoals Lean, XP (Extreme Programming) en oudere varianten zoals DSDM (Dynamic Systems Development Method) en RAD (Rapid Application Development). Maar Scrum heeft zich ontwikkeld tot de meest populaire Agile methode. Dat komt waarschijnlijk vanwege de eenvoud ervan en de succesvolle resultaten die hiermee worden geboekt. De eenvoud zal daarbij ook wel een belangrijke reden zijn voor het succes. Scrum definieert een aantal uitgangspunten of principes, een simpel iteratief proces, met een beperkte set resultaten en rollen die in het proces worden onderkend. Scrum benadrukt vooral het frequent volgens een vast ritme opleveren van werkende software. En dat in nauwe samenwerking met eindgebruikers. De figuur hieronder geeft het Scrum proces weer.

Voorbereiding

Voordat een Scrum project van start kan gaan moeten er een aantal voorbereidende werkzaamheden zijn uitgevoerd. Als eerste moet er een Product of Release Backlog aanwezig zijn, dat is een lijst items die aangeven wat er moet worden ontwikkeld. Deze lijst wordt opgesteld door de Product Owner, de persoon die voor zowel stakeholders als het ontwikkelteam aanspreekpunt is voor hun eisen en wensen (requirements). Zonder een Product Backlog kan niet worden gestart. Voor een uitgebreidere beschrijving van dit onderwerp zie artikel : Voorbereiding van Agile projecten.

Scrum Proces

Het Scrum proces wordt uitgevoerd in een serie van vaste iteraties aangeduid als “Sprints” met een :

  • vaste doorlooptijd: 2-4 weken
  • vaste datum : na afloop wordt altijd gestopt, klaar of niet klaar
  • vaste scope: geen wijzigingen tijdens sprints

Scrum Rollen

Het project wordt uitgevoerd voor en in opdracht van stakeholders zoals de gebruikers en eventuele andere belanghebbenden. Het project wordt uitgevoerd door het Scrum Team, bestaande uit :

  • Product Owner: verantwoordelijk voor de Product Backlog
  • Scrum Master: ondersteunt en bewaakt het team tegen verstoringen.  Zorgt voor continue en juiste toepassing van de Scrum principes, door zowel Scrum Team als omgeving.
  • Ontwikkelteam (Development Team): een zich zelf managend multi-disciplinair team verantwoordelijk voor ontwerp, code, test en oplevering.
    Verdeelt zelf onderling de taken en verantwoordelijkheden.

Scrum Producten

Het proces levert de volgende inhoudelijke tussen- en eindresultaten:

  • Product Backlog: gepriotiriseerde lijst items, meestal User Stories
  • Sprint Backlog: de bovenste top prio items van de product backlog die in de actuele Sprint worden gerealiseerd
  • Potentially Shipable Product: resultaat van een Sprint : werkende software met business value

Scrum Controls

Voor de control op de projectuitvoering worden de volgende instrumenten gebruikt:

  • Sprint Planning Meeting: Sessie als start van een sprint waarin  de sprint backlog wordt begroot en vastgesteld, uitgaande van de Product Backlog. Voor elk geselecteerd item wordt een detailschatting gemaakt door het ontwikkelteam. Zo worden bijv. voor User Stories de uit te voeren taken bepaald en vervolgens begroot in termen van uren.
  • Burn-down chart: Grafische weergave van de gerealiseerde en nog te realiseren items & omvang (uren of andere eenheden, bijv. storypoints).
  • Daily standup meeting : een dagelijkse max. 15 minuten durende sessie waarin ieder Scrum Team lid 3 vragen beantwoord :
    1 – Wat heb je gedaan
    2 – Wat ga je doen
    3 – Zijn er blokkerende problemen (impediments)
    De problemen zijn input voor de Scrum Master om mee aan de slag te gaan.
  • Sprint Review meeting: aan het einde van een Sprint worden de resultaten gedemonstreerd aan de stakeholders en beoordeeld. Deze worden daarna opgeleverd aan de gebruikers voor het uitvoeren van (acceptatie)tests en ingebruikname.
  • Sprint Retrospective : aan het einde van een Sprint wordt deze door het team geëvalueerd in termen van : wat ging goed en wat kan nog beter. De uitkomsten worden gebruikt om de volgende Sprints te verbeteren.

 

This entry was posted in Agile and tagged . Bookmark the permalink.

Geef een reactie

Je e-mailadres wordt niet gepubliceerd.

De volgende HTML tags en attributen zijn toegestaan: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>