IPMA-D · Les 6: Agile | Proyecto Training
IPMA-D · Les 6

Agile

Wendbaarheid in projecten — het Agile Manifesto, Scrum stap voor stap, Kanban en hoe je dit toepast in een projectomgeving

Inleiding

Een projectmanagementaanpak bestaat nooit in een vacuüm. Ze moet aansluiten bij de aard van het werk en de manier waarop dat werk tot stand komt. Of een project lineair wordt uitgevoerd of dat het eindproduct stap voor stap wordt opgebouwd, heeft grote invloed op hoe je het project stuurt. In het tweede geval rijst zelfs de vraag of een formele projectmanagementstructuur nog wel nodig is. Dat maakt het des te zinvoller om te kijken hoe uitvoeringsaanpak en projectmanagement met elkaar samenhangen.


Agile

Agile is een flexibele manier van denken en werken waarmee je snel en slim inspeelt op verandering. Waar projecten vroeger een strak, lineair pad volgden — de traditionele watervalmethode — draait Agile om wendbaarheid. De oude aanpak leidde vaak tot producten die bij oplevering al achterhaald waren. Dit leidde halverwege de jaren negentig tot een tegenbeweging die projecten wendbaarder wilde maken. In 2001 mondde dit uit in het Manifesto for Agile Software Development, opgesteld tijdens een bijeenkomst van softwareontwikkelaars.

Wij laten zien dat er betere manieren zijn om software te ontwikkelen door in de praktijk aan te tonen dat dit werkt en door anderen ermee te helpen. Daarom verkiezen we:

Mensen en hun onderlinge interactieboven processen en hulpmiddelen
Werkende softwareboven allesomvattende documentatie
Samenwerking met de klantboven contractonderhandelingen
Inspelen op veranderingboven het volgen van een plan

Hoewel wij waardering hebben voor al hetgeen aan de rechterkant staat vermeld, hechten wij méér waarde aan wat aan de linkerzijde wordt genoemd.

De twaalf principes van het Agile Manifesto:

  • De hoogste prioriteit is het tevreden stellen van de klant.
  • Verwelkom voortschrijdend inzicht.
  • Lever regelmatig werkende software op.
  • Zorg voor dagelijkse samenwerking tussen gebruikers en ontwikkelaars.
  • Bouw projecten rond gemotiveerde individuen.
  • De meest effectieve manier om informatie te delen is door met elkaar te praten.
  • Werkende software is de belangrijkste maat voor voortgang.
  • Agile processen bevorderen constante ontwikkeling.
  • Voortdurende aandacht voor hoge kwaliteit en een goed ontwerp zorgen voor flexibiliteit.
  • Eenvoud, de kunst van het weglaten, is essentieel.
  • Het beste resultaat komt voort uit zelfsturende teams.
  • Zorg voor regelmatige evaluatie en verbetering van de processen.
Vandaag de dag worden talloze projecten agile aangepakt. De bekendste concrete methodiek is Scrum. Agile werken en Scrum worden inmiddels ook buiten de softwarewereld toegepast — in principe is een agile aanpak in elk vakgebied bruikbaar.

Scrum

Scrum is oorspronkelijk ontwikkeld voor softwareontwikkeling en ontwikkelstraten. De kern ervan is dat het ontwikkelteam zelf het werk organiseert en beheert. Net als andere agile methoden werkt Scrum met korte iteraties — sprints — en zelforganiserende teams. De filosofie lijkt op die van het bredere agile gedachtengoed, maar kent eigen principes en rollen.

De principes van Scrum:

  • Gebruikers bepalen, ontwikkelaars volgen.
  • Alles mag: er zijn geen beperkingen in de wensenlijst.
  • Wees transparant en omarm wijzigingen.
  • Geen contracten maar samenwerking.
  • Van finishlijn naar finishlijn (van sprint naar sprint).
  • Leren en verbeteren.
  • Kwaliteit is heilig.

Scrum-teams werken in korte sprints van maximaal vier weken en leveren aan het einde van elke sprint een werkend increment op. De klant kan dat resultaat accepteren, aanpassen of verwerpen. Het team bepaalt zelf hoe het werk wordt aangepakt en beoordeelt na elke sprint of de werkwijze verbetering behoeft.

Wat is een increment?
Een increment is het concrete, werkende resultaat van een sprint. Zie het als een nieuwe bouwsteen die direct waarde toevoegt. Elk increment moet volledig afgerond, getest en direct bruikbaar zijn voor de klant. Het bouwt voort op alle eerdere incrementen — je voegt telkens een nieuw, werkend onderdeel toe aan het grotere geheel, totdat het product compleet is.

Een ontwikkelteam bestaat minimaal uit vijf en maximaal uit negen personen. Vijf is het minimum om alle benodigde kennis en vaardigheden te dekken; negen is het maximum om het team overzichtelijk te houden en subgroepen te voorkomen.

Backlog en user stories
Product backlog
De volledige lijst van te ontwikkelen functionaliteiten. Grote functionaliteiten die meerdere sprints beslaan heten epics.
Sprint backlog
Bevat de items die in één sprint worden gerealiseerd. Het team selecteert deze items samen tijdens de sprintplanning.

Backlog-items worden beschreven als user stories — korte, gebruikersgerichte omschrijvingen met een vaste opbouw:

User story
Als [rol] wil ik [actie] zodat [behoefte].
Alsonderhoudsmonteur
wil ikdat de machine foutcodes registreert
zodatik snel kan zien wat er misgaat en gericht onderhoud kan uitvoeren.
ID: 0209
Waarde: 2842
Schatting: 5 SP
Rollen in Scrum
Product owner
Maximaliseren van productwaarde
Beheert de product backlog en vertegenwoordigt alle belanghebbenden. Verantwoordelijk voor het maximaliseren van de waarde van het op te leveren product. Altijd één persoon — geen commissie.
Scrum master
Faciliteren van het proces
Faciliteert het proces en bewaakt een correcte toepassing van de Scrum-aanpak. Helpt het team obstakels — impediments — uit de weg ruimen.
Ontwikkelaars
Zelfverantwoordelijke uitvoering
Voeren het werk uit en zijn zelfverantwoordelijk voor de planning en uitvoering binnen de sprint. Samen vormen product owner, scrum master en ontwikkelaars het Scrum team.
Het Scrum-proces stap voor stap
Het Scrum-proces
1
Backlog opzetten
Scrum start bij de Product Owner. Op basis van het overkoepelende Product Doel stelt de Product Owner het Product Backlog samen: een dynamische verzameling van alle wensen, eisen en ideeën voor het product. De Product Owner ordent deze lijst continu. Items die de meeste waarde vertegenwoordigen voor de stakeholders staan bovenaan. Zo weet het team altijd precies welk werk de hoogste prioriteit heeft.
2
Sprint planning
De kick-off van een nieuwe sprint. Het hele Scrum-team komt bijeen om te bepalen wat ze de komende weken gaan oppakken. Dit gebeurt in twee stappen:
  • Het Waarom en Wat: de Product Owner deelt het Sprint Doel; samen worden de hoogste items uit de Product Backlog geselecteerd.
  • Het Hoe: het ontwikkelteam bepaalt zelf hoe ze dit werk gaan uitvoeren en verplaatst de items naar het Sprint Backlog.
Om in te schatten hoeveel werk het team aankan, wordt gebruik gemaakt van Story Points (relatieve maatstaf voor complexiteit) en velocity (gemiddeld aantal Story Points per sprint).
3
Definition of Done
De Definition of Done (DoD) wordt samengesteld vóór de start van de allereerste sprint. Het is de gezamenlijk afgesproken kwaliteitslat: wanneer is een item echt 'af'? Bestaande organisatiestandaarden vormen de minimale basis; het Scrum-team vult die aan met specifieke afspraken (code gereviewd, getest, documentatie bijgewerkt).
4
De sprint
Tijdens de sprint focust het team zich volledig op het realiseren van de geselecteerde user stories. De prioriteit ligt al vast: van boven naar beneden werken aan het Sprint Backlog. Dreigt het Sprint Doel in gevaar? Dan heronderhandelt het team samen met de Product Owner over de scope — er is geen projectmanager die ingrijpt.
5
Daily stand-up
Elke dag maximaal 15 minuten. Geen statusupdate voor een manager, maar een snelle afstemming voor en door het team. Drie vragen:
  • Wat heb ik gisteren gedaan dat heeft bijgedragen aan het Sprint Doel?
  • Wat ga ik vandaag doen om bij te dragen aan het Sprint Doel?
  • Welke blokkades (impediments) storen mij of vertragen mijn werk?
6
Sprint review
Aan het einde van de sprint laat het team het werkende increment zien aan de stakeholders. Geen PowerPoint-presentatie, maar een actieve demonstratie. Stakeholders geven directe feedback; de Product Owner bespreekt de volgende stappen. Input stroomt direct terug naar de Product Backlog.
7
Retrospective
De allerlaatste stap van de sprint. Niet over wat er is gemaakt, maar over hoe het team heeft samengewerkt. Het team reflecteert op proces, relaties, tools en de Definition of Done:
  • Wat ging er goed? Welke werkwijzen moeten we vasthouden?
  • Wat kan er beter? Waar liep het stroef?
  • Concrete actiepunten: één of twee verbeterpunten voor de volgende sprint.
Zodra de retrospective is afgerond, start de cyclus direct opnieuw met de Sprintplanning.
Voortgang bewaken: Scrum board en burn-down

Binnen Scrum is voortgangsbewaking transparant en visueel. Er wordt niet gestuurd op uren, maar op de daadwerkelijke oplevering van werkende resultaten.

Scrum Board (of Kanban-bord)
Het dagelijkse dashboard van het team. Alle user stories bewegen visueel van To Do via In Progress naar Done. In één oogopslag ziet iedereen de actuele status van de sprint.
Burndown Chart
Een grafiek die dagelijks de resterende hoeveelheid werk (in Story Points) laat zien. De lijn loopt idealiter gedurende de sprint naar nul. Wijkt de lijn af? Dan ziet het team direct dat er actie nodig is.
Daily Scrum
De dagelijkse 15-minuten check-in. Omdat teamleden hier elke dag bespreken wat ze gaan doen en tegen welke blokkades ze aanlopen, worden vertragingen binnen 24 uur gesignaleerd en opgelost.

De Product Owner bewaakt ondertussen de voortgang op de lange termijn (het Product Doel) door na elke sprint de behaalde velocity te vergelijken met het openstaande Product Backlog.

Burndown Chart — resterende Story Points per dag 110 100 90 80 70 60 50 40 30 20 10 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 Dag 1: 5 punten afgerond, nog 105 te gaan Dag 2: 10 punten afgerond, nog 95 te gaan Dag 3 en 4: Totaal 20 punten afgerond, nog 75 te gaan Dag 5: 0 punten afgerond, nog 75 te gaan Dag 6: 5 punten afgerond, nog 65 te gaan Dag 7: 10 punten afgerond, nog 55 te gaan

Scrum in een projectomgeving

Wanneer slechts een deel van een project agile wordt uitgevoerd, rijst de vraag of aparte Scrum-teams worden ingericht of dat bestaande verbeterteams in de lijn worden ingezet. Bij een kleine hoeveelheid agile werk kan capaciteit worden gereserveerd bij bestaande teams; bij grotere volumes raakt regulier onderhoud in de knel. De projectmanager moet die afweging vroegtijdig maken — anders loopt het project vertraging op.

In een projectomgeving vervallen should-haves en could-haves die aan het einde van een sprint niet zijn afgerond in principe. Zo kan de volgende sprint fris starten. De product owner kan een gemiste should-have opnemen in de volgende sprint backlog, maar dat is geen vanzelfsprekendheid. In continue ontwikkeling buiten projectverband worden openstaande items doorgaans wél doorgeschoven.

Als Scrum in een project wordt toegepast, blijft de projectmanager verantwoordelijk voor het project als geheel, maar is niet per sprint verantwoordelijk voor wat er wordt opgeleverd en hoe dit resultaat tot stand komt. Hier moet de projectmanager zich faciliterend opstellen.

In de projectdefinitiefase zorgt de projectmanager onder meer voor:

  • De juiste randvoorwaarden voor agile werken.
  • Een product backlog op hoofdlijnen.
  • Een goed samengesteld ontwikkelteam met voldoende mandaat.
  • Een breed geaccepteerde product owner met voldoende tijd, draagvlak bij gebruikers en vertrouwen van het management.
  • Een realistisch projectplan met een vastgelegd aantal releases en sprints per release.
  • Compliance-eisen opgenomen in de Definition of Done.

Kanban

Kanban is een aanpak om werkstromen te versnellen en doorlooptijden te verkorten. Dit gebeurt door werk zichtbaar te maken op een teambord en de hoeveelheid tegelijk onderhanden werk te begrenzen via een beperkt aantal signaalkaarten. Het aantal kaarten correspondeert met de beschikbare teamcapaciteit. Nieuw werk wacht in een wachtrij totdat een kaart vrijkomt. Op die manier fungeert de kaart als een signaal: er is ruimte voor nieuw werk. Verschillende soorten werk worden doorgaans met verschillende kleuren kaarten weergegeven.

Achtergrond: Kanban is een Japans begrip dat letterlijk signaalkaart betekent. De methode is ontwikkeld door Taiichi Ohno bij Toyota als hulpmiddel om een hoge productiesnelheid te bereiken. De filosofie: onderhanden werk zichtbaar maken maakt knelpunten zichtbaar; onderhanden werk beperken verhoogt de productiviteit.

De vier kernprincipes van Kanban:

  • Visualiseer het onderhanden werk.
  • Beperk de hoeveelheid onderhanden werk.
  • Laat werk van de ene stap naar de volgende trekken — niet duwen.
  • Monitor, stuur bij en verbeter continu.
Scrum versus Kanban

Kanban verschilt op een paar punten wezenlijk van Scrum. Teamleden blijven hun eigen type werk uitvoeren; de bestaande werkstromen blijven intact. En er wordt niet in vaste timeboxen gewerkt — zodra een taak af is, pakt iemand de volgende op. Kanban en Scrum kunnen overigens ook worden gecombineerd.

KenmerkScrumKanban
RitmeVaste sprints (1–4 weken)Continu — geen vaste periodes
RollenProduct owner, scrum master, ontwikkelaarsGeen verplichte rollen
WerkstromenTeam neemt werk in blokken opBestaande werkstromen blijven intact
BegrenzingSprint backlog bepaalt omvangWIP-limiet via signaalkaarten
OpleveringAan het einde van elke sprintZodra een taak af is
GebruikProjecten met iteratieve ontwikkelingContinue processen en onderhoud
Invoering van Kanban

Kanban invoeren is een evolutionair proces. Begin met een focus op kwaliteit. Verlaag daarna stapsgewijs de hoeveelheid onderhanden werk — dit lijkt contra-intuïtief, maar leidt op termijn tot een hogere totale doorvoer. Lever zo frequent mogelijk op en stem de instroom van werk af op wat het team realistisch aankan. Stel prioriteiten in de wachtrij en vergroot de voorspelbaarheid door bronnen van variabiliteit — zoals de beschikbaarheid van sleutelpersonen — te beheersen. Voeg waar nodig buffers in vóór knelpunten in het proces om de doorstroom te garanderen.

Kanban-bord
Visualiseert de werkstromen. In één oogopslag zichtbaar waar werk zich bevindt en waar knelpunten ontstaan.
Signaalkaarten
Leggen onderhanden werk vast en begrenzen de hoeveelheid. Het aantal kaarten correspondeert met de beschikbare teamcapaciteit.
Verbetermodellen
Zoals systeemdenken — voor het identificeren en aanpakken van verbetermogelijkheden in de werkstroom.
Kanban-bord To Do - Designing (2) Programming (3) Testing (4) Documenting (3) Done - Done Done Done Done T P S U W X Z V AA AB Y O T 6 N Q R N 5 L M I K L 4 J F H G J 3 G 1 2 E C B D A G

Kennistoets

Test of je de leerstof beheerst. Je krijgt directe feedback na elk antwoord.

© Proyecto Training · IPMA-D Lesmodule 6 · Agile

Volgende     -     Terug