Alles over scrum in website projecten

Ik ben als designer en projectmanager altijd op zoek naar de beste manier om een project in goede banen te laten lopen. Niet dat onze aanpak niet lekker liep, maar ik had altijd het gevoel dat het anders en beter kon. Nu zijn er wel 1000 manieren om websiteprojecten in goede banen te leiden, dus het is lastig om de juiste voor je klanten en organisatie te kiezen. Maar volgens mij hebben we de juiste gevonden: Scrum.

Waterval

De oude manier waarop wij projecten deden was de waterval-methode. Hierbij volgen taken elkaar op. Dus we begonnen met een intake, hierna maakte we een ontwerp met een functionele omschrijving en deze werd vervolgens gepresenteerd aan de klant. Op het ontwerp en de functionele omschrijving (wat vaak een behoorlijk pak papier was) moest een goedkeuring worden gegeven. Hierna werd begonnen met de bouw en hoorde de klant vaak weken niks meer van ons. Als de techniek klaar was, zag de klant het eindresultaat.

Vaak kwamen hier dan behoorlijk wat bugs en nieuwe wensen naar voren. Vaak omdat de klant tot andere inzichten was gekomen en het functioneel ontwerp niet goed had gelezen. Uiteraard lag dit niet alleen aan de klantzijde, want wij hadden zaken soms ook anders opgelost omdat dit handiger was. Oftewel er was te weinig klantcontact tijdens de bouwfase van nieuwe websites. Dat moest handiger kunnen…

 

Scrum!

… Het moest inderdaad handiger kunnen. En dat ‘handiger’ werd scrum! De insteek van scrum is heel anders t.o.v. waterval. De basis van scrum is:

          Bij scrum gaat het niet om het team, niet om de klant. Het gaat zelfs niet over het product. Het gaat er om hoe relevant het resultaat is voor de eindgebruiker.

Oftewel: we gaan een website maken voor de klant van onze klant. Daarnaast is een groot verschil dat we meer als een team gaan werken. De klant wordt ook onderdeel van het team.

Met scrum beginnen we met een workshop om een goed beeld te krijgen van de wensen en eisen van de klant. Waar moet een website aan voldoen en wat wil de krant graag. Hierbij maken wij gebruik van stories. Deze stories zijn de verhalen van de website, bekeken vanuit de doelgroep van de klant. Voorbeeld:

          Als content medewerker wil ik graag nieuws op de website kunnen plaatsen, zodat ik mijn bezoekers op de hoogte kan houden van de laatste ontwikkelingen en de SEO kan boosten.

Bij de workshop betrekken we verschillende afdeling/disciplines van het bedrijf. Op deze manier krijg je verschillende invalshoeken. In dit stadium zijn we nog niet beperkt door technische (on)mogelijkheden en budget. Het mag zo gek zijn als men kan bedenken. Er volgt aan het eind van de sessie een fasering.

Deze stories vormen de basis voor de bouw van de website.

Bovenstaande workshop noemen wij ook wel sprint 0. Scrum bestaat namelijk uit verschillende sprints. Bij elke sprint is het de bedoeling om een deel af te krijgen. Zo kan sprint 1 bijvoorbeeld bestaan uit het maken van de website en sprint 2 uit het maken van een klantenportaal.

 

Start bouw

Sprint 1 begint altijd met een kick-off. Bij deze kick-off zal het hele team aanwezig zijn. Dus designers, onze klant, programmeurs, marketeers, etc. Een programmeur wordt dus al vrij vroeg betrokken bij het project om meer feeling te krijgen met wat hij gaat maken.

Een scrum team bestaat overigens uit de volgende medewerkers:

  • Scrum Master - Begeleider van het project
  • Product owner – Bewaker van het project (de klant)
  • Designer
  • Programmeur
  • Content medewerker
  • Marketeer

 De klant (product owner) heeft een grote rol bij een scrum project. Hij/zij stuurt namelijk, samen met de Scrum Master, het team aan. De programmeur wordt dus niet buiten beeld gehouden, maar is ook rechtstreeks te benaderen door de klant. Het is zelfs zo dat bij wat grotere projecten de klant ook fysiek een werkplek heeft bij ons op kantoor. De communicatie is dan veel directer en e.e.a. kan snel en kordaat worden opgepakt.

Even terug naar de kick-off van sprint 1. Zoals al vermeld hebben wij stories gemaakt. Na het maken van deze stories gaan we nu de taken verdelen en de hoeveelheid werk bepalen. Per teamlid worden de verschillende taken bepaald. De product owner moet bijvoorbeeld het ontwerp goedkeuren, de programmeur moet het CMS inrichten, etc.

Het inschatten van de hoeveelheid werk gebeurt niet door er een aantal uren aan het te hangen maar d.m.v. een cijfer. Dit bepalen van het cijfer gebeurd door een kaartspel, waarbij het hele team een inschatting doet van hoeveel werk hij/zij denkt dat het is. Wederom vanuit zijn/haar eigen perspectief!

Als alle stories zijn ingeschat worden deze op prio gelegd door het team.

 

Start sprint 1

Scrum werkt met een scrumbord. Dit bord wordt gebruikt om de verschillende statussen in de gaten te houden. Het bord bestaat uit de volgende rijen:

  1. To do
    Hier staan alle stories in die gemaakt moeten worden (wachtrij).
  1. In progress
    Aan deze stories/taken wordt gewerkt
  1. Interne test
    Deze kolom wordt gebruikt als een story/taak is afgerond zodat een andere programmeur het werk kan testen
  1. Staging
    Als alles getest is en aan de DOD (Definition of Done*) voldoet, zetten wij het geheel op de testlocatie. De product owner heeft nu de mogelijkheid om de website te testen.
  1. Done
    Indien een story/taak af is, mag hij naar deze kolom. Hierbij moet dus iedereen zijn taak afgerond hebben. Dus als er bepaald is dat er content moet worden geplaatst, zal dit ook in zijn volledigheid gebeurd moeten zijn.

* De DOD omschrijft waar het eindresultaat een sprint aan moet voldoen voordat het wordt opgeleverd. Voorbeelden zijn: Het vullen van menu-item projecten, een WOW-effect van de homepagina of dat we website werkt in bepaalde webbrowsers (bijvoorbeeld: alle versies v.a. IE 7)


Wij maken gebruik van een online scrum bord dus de klant kan altijd de verschillende statussen zien en bijhouden. Zoals al vermeld, hebben wij aan iedere story een getal gehangen. Dit getal vormt samen met de andere stories een eindgetal waarmee wij de Burn Down Chart maken. Als een story is afgerond mag dit van het totaal worden afgeschreven in de burn down chart.

Wekelijkse stand-ups

Elke week wordt een zogenaamde stand-up gehouden door het hele team. Hierbij worden de verschillende statussen doorgenomen en kunnen eventuele vragen direct worden beantwoord.

Het mooie van scrum is dat je vrij snel resultaat kunt bereiken. Je zou dus in het project een demomoment kunnen maken. Deze demo wordt dan door de product owner gegeven aan de stakeholders in het project of bij de klant, waarbij zij direct de werking van de site kunnen zien en beoordelen.

Een groot voordeel van deze werkmethode is dat de klant veel meer betrokken wordt bij het project en de ontwikkeling. En ander voordeel is dat er veel sneller resultaat kan worden bereikt. Daarnaast is het meerwerk ook beter onder controle te krijgen, omdat je hier eerder beslissingen over kunt nemen.

Verder is het feit dat er meer als een team wordt gewerkt een enorm voordeel. Dit zorgt voor kennisoverdracht, waarbij collega’s ook van elkaar kunnen leren én elkaar tijdig kunnen helpen. Iedereen is tenslotte verantwoordelijk voor het eindresultaat. Het kan dus best gebeuren dat een programmeur aan het ontwerpen is om de story af te ronden.

 

Benieuwd naar onze werkwijze?

Benieuwd naar onze scrum methodiek bij het ontwikkelen van nieuwe websites? Dan komen wij graag een keer langs om dit te bespreken. U zult versteld staan van de vele voordelen die scrum biedt bij het bouwen en ontwikkelen van nieuwe websites! U kunt ons bereiken via 0229 27 27 00 of een bericht achterlaten via ons contactformulier.

scrum-hoofdfoto.jpg