De implementatie

Tijdens implementatie-, ontwikkel- of onderhoudsprojecten werken we graag in een multidisciplinaire team dat in korte sprints werkende (software) producten oplevert. Achterliggend is het Agile Manifesto:

  • Mensen en hun onderlinge interactie boven processen en hulpmiddelen

  • Werkende software boven allesomvattende documentatie

  • Samenwerking met de gebruikersorganiatie / klant boven contractonderhandelingen

  • Inspelen op verandering boven 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 projectaanpak moet geen dogma worden, maar een leidraad om samen te komen tot een aanpak voor het specifieke project in de specifieke context.

Begrippen in deze aanpak

Een User Story heeft de vorm 'als .... wil ik ....omdat' en beschrijft daarmee wat het totaal van software en processen op moet leveren. Bijvoorbeeld:

Als medewerker communicatie wil ik kunnen zien wie ingeschreven is voor welk soort nieuwsbrief zodat ik de inhoud daarop af kan stemmen.”

Een user story van grote omvang, meestal met meerdere onderliggende user stories noemen we een Epic.

Het Project Backlog bevat alle user stories die er zijn, gesorteerd op prioriteit. De prioriteit wordt bepaald door de vraag te stellen: als ik nu moet beginnen wat vind ik dan het belangrijkste. Het Project Backlog wordt beheerd door de Product Owner.

De Product Owner is beheerder van de Project Backlog. Hij of zij verzamelt user stories, onderzoekt, analyseert, splits in kleinere delen, sorteert, bepaalt prioriteit. Daar waar nodig belegt hij of zij workshops om user stories te verduidelijken.

De Scrum Master is een dienende leider die verantwoordelijk is voor het Scrum proces. Hij zorgt ervoor dat alle randvoorwaarden voor sprints geregeld zijn (afspraken, ruimte, middelen enz.) en bewaakt het proces tijdens de sprint. De Scrum master is lid van het Scrum team.

Het Scrum Board bevat de user stories die tijdens de sprint aangepakt worden. Voor de sprint wordt in een sprint planning meeting vastgesteld welke user stories in de sprint komen.

De Definition of Ready beschrijft aan welke voorwaarden een user story moet voldoen voordat de user story in een sprint gerealiseerd kan worden. Bijvoorbeeld: de beschrijving moet duidelijk zijn voor het scrum team, er moet een schatting zijn, de user story kan niet verder uitgesplitst worden, er moeten testscenarios zijn.....

De Definition of Done beschrijft aan welke voorwaarden een user story moet voldoen voordat de user story als opgeleverd beschouwd wordt. Bijvoorbeeld: de user story moet op de productie (of acceptatie omgeving) staan, er moet een afgewikkeld testscenario zijn, de noodzakelijke documentatie is aanwezig.

De Daily Standup is een dagelijkse korte meeting (ongeveer 15 minuten) van het Scrum team tijdens de sprint. Alle teamleden staan en beantwoorden de volgende 3 vragen: Wat heb ik gedaan sinds de vorige meeting? Wat ga ik doen tot de volgende meeting? Welke issues heb ik en welke hulp heb ik daar bij nodig?

Planning Poker is een methode om de benodigde inspanning om een user story te realiseren in te schatten.

Elke sprint wordt afgesloten met een Sprint Retrospective waarin het team de sprint evalueert. Deze evaluatie gaat over de werkwijzen en de samenwerking, niet over de inhoud.

Het Scrum Team

Het Scrum Team is een zelfsturend team van mensen die gezamenlijk tijdens een sprint user stories oplevert. Een Scrum team blijft idealiter in dezelfde samenstelling samenwerken tijdens het project en doet dus meerdere sprints.

De aanpak

Tijdens de eerste stap stellen we een Product Owner en Scrum Master aan en formeren we in principe een Scrum team. We spreken 1-3 sprints af waarin we User Stories verzamelen en het Project Backlog vullen. De Product Owner is idealiter een medewerker van de klant, maar kan ook een CiviCooP lid zijn die de rol namens een medewerker van de klant vervult. De Scrum Master kan zowel een medewerker van de klant als een CiviCooP lid zijn. Daarnaast stellen we de Definition of Ready en Definition of Done initieel vast.

Aan het einde van deze serie van sprints is er een meeting waarin het Scrum team samen met de Product Owner de Project Backlog bespreekt en vaststelt hoeveel sprints er initieel in de agenda's gepland worden, en wat de omvang van deze sprints zal zijn. De verwachting is dat een sprint 3 – 7 dagen zal zijn. De eerste sprints worden in de agenda's gepland.

Aan het begin van elke sprint wordt in een Sprint Planning Meeting vastgesteld welke user stories in de sprint komen. Aan het eind van elke sprint is er een Sprint Retrospective waarin het team de sprint evalueert. Daarnaast wordt met de Product Owner ook vastgesteld of de volgende sprint nog nodig is en plannen we als iedereen het gevoel heeft dat dat nodig is een extra sprint zodat we er weer drie gepland hebben.

Regelmatig plant het aanspreekpunt een meeting waarin de Project Backlog doorgesproken wordt om te beoordelen of de vaart er goed in zit en of het geheel nog past in het budget.