"It's not stupid if it works !"
Van PRINCE2-purist naar Scrum-enthousiast: Mijn onverwachte reis
Van PRINCE2-purist naar Scrum-enthousiast: Mijn onverwachte reis

Van PRINCE2-purist naar Scrum-enthousiast: Mijn onverwachte reis

Om heel eerlijk te zijn had ik vroeger echt een hekel aan scrum. Ik was als PRINCE2 project manager toch zeker niet van plan om een team zelf te laten bepalen wat zij gaan doen? Gekker moest het niet worden. Maar een tijdje terug ben ik terecht gekomen in een team dat volgens de SCRUM Methode werkt. En ik moet zeggen dat de rol van Product Owner mij beter bevalt dan ik toe zou durven geven. Wellicht nog wel beter dan project manager.

Inmiddels weet ik dat het een het ander niet uitsluit. Als jij een project moet doen dat je al vaker hebt gedaan (bijvoorbeeld de uitrol van werkplekken in een ziekenhuis) dan zijn er relatief weinig onbekende factoren en dan kan je dit prima waterval doen (middels PRINCE2 of zo). Maar als je in een situatie zit waarbij er veel onbekende factoren zijn (zoals het ontwikkelen van nieuwe software) dan is de benadering via SCRUM eigenlijk beter.

De werkwijze

Scrum gaat uit van zelfsturende teams die bestaan uit een development team, een scrum master en een product owner. Het werk wordt door middel van user stories beschreven in korte stukjes en die korte stukjes komen op de product backlog. Tijdens een event dat de sprint planning heet worden er van die kleine stukjes werk op de sprint backlog geplaatst en dat is het werk dat men in die sprint gaat doen. Een sprint is een afgebakend tijdbestek van bijvoorbeeld 3 weken waarin bepaald werk gedaan wordt. Aan het einde van iedere sprint worden waardevolle toevoegingen gedaan die aan de eindgebruikers worden gedemonstreerd. Omdat er continue in kleine blokken wordt gewerkt zijn veranderingen heel snel te bewerkstelligen

Een mooi voorbeeld dat ik onlangs voorbij zag komen over het verschil tussen PRINCE2 en Scrum was die van een duikboot. De duikboot vertegenwoordigd het werk dat in een project gedaan wordt. Bij een PRINCE2 (of andere waterval methodieken) zie je de duikboot aan het begin van een project en dan gaat de boot onder water. En bij het einde van het project zie je de boot pas weer. Bij SCRUM gaat de boot onder en komt aan het einde van iedere sprint weer boven om te laten zien welk werk er in de sprint is gedaan. Op die manier is een ontwikkeling heel kortcyclisch en kunnen de gebruikers veel vaker en sneller op wijzigingen inspringen.

Rollen binnen SCRUM

Binnen SCRUM kennen we gelukkig niet heel veel rollen. Daarnaast zijn alle rollen gelijkwaardig in de zin dat er geen hierarchische aanstuuring is. De rollen die we kennen binnen scrum zijn

  • De SCRUM-Master. Dit is de moederkloek van het team en zorgt er voor dat iedereen zijn of haar werk kan doen.
  • De Product Owner. Dit is de persoon die op de backlog let en bepaalt welk werk gedaan kan worden in de sprints en erop toeziet dat de maximale waarde uit het werk wordt gehaald.
  • Het Development team. Iedereen die werkt in het team en géén scrum master of product owner is, is een developer.

De Scrum Master: De stille kracht achter het succes.

De Scrum Master is een essentiële figuur binnen een Scrum team. Hoewel deze rol vaak onderschat wordt, is de Scrum Master de onzichtbare hand die ervoor zorgt dat het Scrum framework soepel verloopt. In plaats van een traditionele leider, is de Scrum Master meer een facilitator, coach en servant leader.

De belangrijkste taken van een Scrum Master zijn:

  • Servant leadership: De Scrum Master dient het team en de organisatie. Hij of zij verwijdert obstakels die het team belemmeren om zijn doel te bereiken.
  • Coach: De Scrum Master coacht het team in het begrijpen en toepassen van Scrum. Hij of zij helpt het team om zelfsturend te worden en de beste werkwijzen te vinden.
  • Facilitator: De Scrum Master faciliteert de Scrum events, zoals de daily scrum, sprint planning en retrospectieve. Hij of zij zorgt ervoor dat deze bijeenkomsten productief en waardevol zijn.
  • Beschermer van het proces: De Scrum Master beschermt het team tegen externe verstoringen en zorgt ervoor dat het team zich kan concentreren op het product.

Wat maakt een goede Scrum Master?

  • Kennis van Scrum: Een goede Scrum Master heeft een diepgaande kennis van het Scrum framework en kan dit effectief overbrengen op het team.
  • Communicatieve vaardigheden: De Scrum Master moet goed kunnen communiceren met alle belanghebbenden, zowel binnen als buiten het team.
  • Faciliterende vaardigheden: Het vermogen om gesprekken te leiden en conflicten op te lossen is essentieel voor een Scrum Master.
  • Empathie: Een goede Scrum Master kan zich verplaatsen in de situatie van teamleden en hen ondersteunen waar nodig.
  • Servant leadership mentaliteit: De Scrum Master moet bereid zijn om anderen te dienen en het belang van het team boven het eigen belang te stellen.

Waarom is de Scrum Master zo belangrijk?

De Scrum Master speelt een cruciale rol bij het succes van een Scrum team. Door ervoor te zorgen dat het team zich aan de Scrum principes houdt en door obstakels te verwijderen, draagt de Scrum Master bij aan een efficiënte en effectieve werkwijze. Een goede Scrum Master kan het verschil maken tussen een succesvol en een mislukt project.

In het kort: De Scrum-Master is de stille kracht achter het succes van een Scrum team. Door zijn of haar kennis, vaardigheden en toewijding zorgt de Scrum Master ervoor dat het team optimaal kan presteren.

De Product Owner: De visie achter het product

De Product Owner is de spil tussen de business en het development team. Deze rol is cruciaal voor het succes van een product, omdat de Product Owner de visie bepaalt en ervoor zorgt dat het product aan de behoeften van de klant voldoet.

De belangrijkste taken van een Product Owner zijn:

  • Product visie: De Product Owner creëert en communiceert een duidelijke visie voor het product. Hij of zij bepaalt de lange termijn doelen en prioriteiten.
  • Product Backlog: De Product Owner is verantwoordelijk voor het beheren en prioriteren van de Product Backlog. Dit is een geordende lijst van alle features, functionaliteiten en verbeteringen die voor het product gewenst zijn.
  • Klantvertegenwoordiger: De Product Owner vertegenwoordigt de klant binnen het team. Hij of zij verzamelt feedback van klanten en stakeholders en vertaalt dit naar concrete product requirements.
  • Waarde maximaliseren: De Product Owner maximaliseert de waarde van het product door de juiste features op het juiste moment te ontwikkelen.
  • Beslissingsbevoegdheid: De Product Owner heeft de eindverantwoordelijkheid voor de inhoud van het product.

Wat maakt een goede Product Owner?

  • Visie: Een goede Product Owner heeft een duidelijke visie voor het product en kan deze overbrengen op het team.
  • Prioriteren: Het vermogen om features te prioriteren op basis van business waarde is essentieel.
  • Communiceren: De Product Owner moet goed kunnen communiceren met zowel technische als niet-technische stakeholders.
  • Domeinkennis: Kennis van de markt en de doelgroep is belangrijk om de juiste productbeslissingen te kunnen nemen.
  • Business inzicht: Het begrijpen van de business doelstellingen en hoe het product daartoe bijdraagt is cruciaal.

Waarom is de Product Owner zo belangrijk?

De Product Owner is de drijvende kracht achter het product. Door een duidelijke visie te hebben en de Product Backlog te beheren, zorgt de Product Owner ervoor dat het product aan de behoeften van de klant voldoet en een succes wordt.

In het kort: De Product Owner is de visiehouder van het product. Hij of zij zorgt ervoor dat het product aan de verwachtingen van de klant voldoet en een succes wordt. Een goede Product Owner beschikt over minimaal de PSPO1 en PSPO2 certificering. Hieronder mijn certificeringen.

Het Development Team: De bouwers van het product

Het Development Team is de kern van een Scrum team. Zij zijn verantwoordelijk voor het daadwerkelijke bouwen van het product.

De belangrijkste taken van een Development Team zijn:

  • Product increment: Het Development Team creëert een increment van het product aan het einde van elke Sprint. Dit increment moet voldoen aan de Definition of Done.
  • Zelf-organiserend: Het Development Team is volledig zelf-organiserend. Zij bepalen zelf hoe zij het werk verdelen en uitvoeren.
  • Cross-functioneel: Het Development Team bestaat uit alle vaardigheden die nodig zijn om het product te bouwen. Dit betekent dat er developers, testers en mogelijk ook designers in het team zitten.

Wat maakt een goed Development Team?

  • Samenwerking: Een goed Development Team werkt samen om een gemeenschappelijk doel te bereiken.
  • Kwaliteit: Het team levert hoogwaardige producten op.
  • Adaptabiliteit: Het team kan snel reageren op veranderingen.
  • Commitment: Teamleden zijn toegewijd aan het succes van het product.

Waarom is het Development Team zo belangrijk?

Het Development Team is de motor van de Scrum-methodiek. Zij zetten de visie van de Product Owner om in werkelijkheid. Door zelf-organiserend te werken en een hoogwaardige increment te leveren, draagt het Development Team bij aan het succes van het product.

In het kort: Het Development Team is verantwoordelijk voor het bouwen van het product. Zij zijn zelf-organiserend, cross-functioneel en leveren een increment op aan het einde van elke Sprint.

De events binnen scrum.

Scrum-events zijn een serie van terugkerende bijeenkomsten die binnen elke Sprint plaatsvinden. Ze hebben elk een specifiek doel en helpen het team om op koers te blijven en de voortgang te maximaliseren.

De belangrijkste Scrum-events zijn:

  • Sprint: De Sprint is de kern van Scrum. Het is een tijdbox van vaste lengte, waarin het Development Team een increment van het product oplevert.
  • Sprint Planning: Aan het begin van elke Sprint wordt de Sprint Planning gehouden. Hierin wordt het Sprint Goal bepaald en wordt de Product Backlog verfijnd tot een Sprint Backlog.
  • Daily Scrum: De Daily Scrum is een korte, dagelijkse bijeenkomst van het Development Team. Het doel is om de voortgang te inspecteren en aan te passen.
  • Sprint Review: Aan het einde van de Sprint vindt de Sprint Review plaats. Hierin wordt het increment gedemonstreerd aan stakeholders en wordt feedback verzameld.
  • Sprint Retrospective: De Sprint Retrospective is een bijeenkomst van het Scrum Team om te reflecteren op de afgelopen Sprint en te identificeren wat er goed ging en wat er beter kan.

Waarom zijn Scrum-events belangrijk?

  • Transparantie: Scrum events zorgen voor transparantie in het werk van het team.
  • Inspectie en aanpassing: Ze bieden mogelijkheden om de voortgang te inspecteren en aanpassingen te doen waar nodig.
  • Verbetering: Scrum events dragen bij aan een continue verbetering van het proces.
  • Samenwerking: Ze bevorderen de samenwerking binnen het team en tussen het team en andere stakeholders.

Een korte uitleg van elk event:

  • Sprint: Een tijdgebonden periode waarin een “done” increment van het product wordt geproduceerd.
  • Sprint Planning: Een event waarin het team beslist wat er in de komende Sprint gebouwd gaat worden.
  • Daily Scrum: Een korte, dagelijkse meeting om de voortgang te bespreken en obstakels te identificeren.
  • Sprint Review: Een formele meeting om het increment te demonstreren en feedback te verzamelen.
  • Sprint Retrospective: Een meeting om te reflecteren op de afgelopen Sprint en verbeterpunten te identificeren.

Veel teams kennen naast de officiële events ook nog de Refinement meetings. Wat daar gebeurt is feitelijk het doornemen van user stories (wat wil de stakeholder functioneel zien/meemaken). Daar bespreekt het team hoeveel tijd/effort het kost om bepaalde functionaliteiten te bouwen.