Waarom je met scrum maatwerkapplicaties bouwt die staan als een huis

Scrum: je hebt er vast wel eens van gehoord. Het is dé projectmanagementmethode van tegenwoordig. Vooral in de ICT wordt scrum toegepast. Maar wat is scrum nou precies? En waarom ontwikkelt Qlic de applicaties van klanten middels deze methode?

Stapsgewijs huizen bouwen

Het nut van het toepassen van scrum kan het beste geïllustreerd worden aan de hand van een voorbeeld. Stel, je wil een huis laten bouwen. Je kunt je huis natuurlijk pas bewonen zodra de bouw van je huis is voltooid. Maar wat nou als huizen stapsgewijs zouden worden gebouwd? In dat geval zou er eerst worden gestart met de bouw van één kamer. Pas als deze voltooid is wordt er begonnen met de bouw van een nieuwe kamer. De leidingen en elektriciteit worden aangelegd in de eerste kamer en kunnen vervolgens uitgebreid worden naar elke nieuw te bouwen kamer. De koper van zo’n huis kan in het huis gaan wonen zodra hij van mening is dat er voldoende kamers zijn. Wanneer hij in het ‘voorlopige’ huis woont, worden de nieuwe kamers volledig naar zijn wens gebouwd. De koper heeft op dat moment namelijk precies voor ogen hoe hij de extra kamers wil laten inrichten.

Scrum, wat is dat nou?

Scrum kun je vergelijken met deze stapsgewijze bouwmethode. Organisaties die de scrummethode hanteren maken een schets van het eindproduct, bijvoorbeeld van een nieuwe webapplicatie. Op basis van de initiële schets wordt de webapplicatie in fasen opgeleverd aan de product owner. De product owner kan het product daardoor al meteen gebruiken en input leveren op de verdere oplevering. Hij kan er dan zelfs voor kiezen om een compleet andere weg in te slaan of om bepaalde functionaliteiten toch niet toe te voegen aan de webapplicatie. Op die manier blijft de product owner of klant altijd tevreden en wordt de webapplicatie geheel naar zijn wens ingericht. De onmiddellijke oplevering van een deel van het eindproduct aan de product owner of klant is dan ook waarin scrum wezenlijk verschilt van traditionele projectmanagementmethodieken, zoals de watervalmethode. Bij deze laatste wordt de webapplicatie pas aan de klant opgeleverd op het moment dat de applicatie compleet afgerond is en klaar is voor gebruik. Een veelvoorkomend probleem van het toepassen van de watervalmethode in de ICT-sector is echter dat het eindproduct uiteindelijk niet (voldoende) voldoet aan de wens van de klant, omdat de klant bij nader inzien bijvoorbeeld toch een andere richting op had gewild. Bij Qlic werken we daarom volgens de scrummethode.

Ook samenwerken met Qlic?

Scrum in de praktijk

De product backlog

Marijn Poelman, directeur van Qlic, legt uit hoe scrum bij Qlic wordt toegepast. “Het gehele scrumproces bestaat uit verschillende stappen. De eerste stap beslaat de inventarisatie. In grote lijnen wordt bepaald wat de product owner wil laten ontwikkelen. Dit doen we met behulp van een product backlog, een geordende lijst met user stories die als leidraad worden gehanteerd tijdens de ontwikkeling van het product. Deze user stories concretiseren de product backlog, omdat ze beschrijven wie de applicatie met welk doel gaat gebruiken. User stories stellen we op in de vorm ‘Als [functie] wil ik [wat] zodat ik [reden]’, bijvoorbeeld ‘Als administratief medewerker wil ik eenvoudig geautomatiseerde facturen kunnen versturen, zodat ik dit niet meer met de hand hoef te doen en fouten worden voorkomen’. We verplaatsen ons in de product owner en denken actief met hem mee. Dit betekent ook dat we kritische vragen stellen: waarom wil je het op manier A doen, en niet op manier B? Soms tekenen we wireframes om een overzicht te geven van de verschillende onderdelen die op de website of in de webapplicatie aanwezig kunnen zijn. De inventarisatiefase heeft dus als doel om een globaal beeld te krijgen van het eindproduct, zowel voor het scrumteam als de product owner zelf. Ook wordt er een richtprijs gegeven en wordt er bepaald uit hoeveel sprints het project gaat bestaan.”

De sprint backlog en planningpoker

Bij akkoord van de product owner gaat het project van start. Er wordt gewerkt in verschillende sprints van meestal twee weken (soms in overleg ook één week). Aan het begin van een sprint bepaalt de product owner in samenspraak met het scrumteam over welke functionaliteiten (user stories) het deelproduct aan het einde van een sprint moet beschikken. Het hulpmiddel daarbij is de sprint backlog, een takenlijst die tijdens een sprint moet worden afgewerkt, met hieraan gekoppeld een user story om het subdoel en de gebruiker(s) inzichtelijk te krijgen. De taken die het meest urgent zijn komen bovenaan in de sprint backlog te staan. Ook de complexiteit van de taken moet worden ingeschat. Dit geschiedt aan de hand van het zogenaamde planningpoker, waarbij het hele team onafhankelijk van elkaar middels het toekennen van een getal bepaalt hoe complex elke taak is. Er kan worden gekozen uit de nummerreeks 0 – 0.5 – 1 – 2 – 3 – 5 – 8 – 13 – 20 – 40 – 100, afgeleid van de rij van Fibonacci. Nadat toelichtingen op de keuze zijn gegeven, beslist het team hoeveel definitieve punten elke taak toegekend moet krijgen. Op basis van het puntenaantal wordt besloten welke taken in één sprint worden samengevoegd, en welke taken naar een volgende sprint worden doorgeschoven. Zo is er aan het einde van elke sprint een stukje van het eindproduct afgerond, die al meteen door de product owner of klant gebruikt en getest kan worden. “Door in sprints te werken krijgt de klant daadwerkelijk iets opgeleverd, namelijk een deel van het product. Op die manier toetsen we steeds bij de klant of het betreffende deelproduct naar wens is. Mocht de klant na de oplevering toch willen afwijken van zijn initiële ideeën, dan kunnen we, doordat we met sprints werken, tijdig inspringen,” aldus Marijn.

De daily stand-up

Elke dag vindt er een daily stand-up plaats, een bijeenkomst van vijf tot vijftien minuten waarin de voortgang wordt besproken, knelpunten inzichtelijk worden gemaakt en een overzicht wordt gegeven van de te bereiken doelen van die dag. De daily stand-up bevordert snelle besluitvorming en vergroot de kans dat het doel van de sprint gehaald wordt. De scrummaster is verantwoordelijk voor het laten plaatsvinden van de daily stand-up en houdt de tijd in de gaten. Om te voorkomen dat de stand-up te lang duurt, wordt deze staand gehouden. Tijdens de daily scrum wordt het scrumbord aangehouden. Hierop staan de taken die gepland zijn, de taken waaraan momenteel gewerkt wordt en de taken die afgerond zijn genoteerd. Een scrumbord leidt dus tot meer transparantie, omdat iedereen inzicht heeft in elkaars werkzaamheden en in de huidige status van de sprint.

De sprint retrospective

Aan het einde van elke sprint organiseert de scrummaster een sprint retrospective. Tijdens de sprint retrospective wordt er gereflecteerd op het functioneren van het scrumteam. Op basis van de naar voren gebrachte verbeterpunten wordt een plan gemaakt voor het implementeren van de verbeterpunten.

Veel inspraak hebben in de ontwikkeling van je software?

Scrum als denkwijze, niet als werkwijze

Hoewel scrum een projectmanagementmethodiek en dus een werkwijze is, wordt scrum bij Qlic niet als zodoende beschouwd. Marijn licht dit toe. “Bij ons staat de klant te allen tijde voorop. In samenspraak met de klant bekijken we hoe we de softwareontwikkeling gaan aanpakken. Als blijkt dat de werkwijze van scrum hier niet helemaal op aansluit, zullen we de applicatie zó ontwikkelen dat de aanpak overeenkomt met de wensen van de klant. Uiteraard houden we wel vast aan het principe van klantinspraak en het opleveren van deelproducten, zodat het product volledig ontwikkeld wordt volgens de door de klant gestelde eisen. Voor ons is scrum dus geen werkwijze, maar een denkwijze.”

Het kostenplaatje

Veel klanten zijn in eerste instantie wat huiverig om hun software via de scrummethode te laten ontwikkelen. Bij scrum kun je namelijk nooit precies zeggen wat je krijgt voor welk bedrag. Dit is echter een bewuste keuze. Van tevoren alles uitdenken en uitwerken, zoals bij de watervalmethode, kan veel meer kosten met zich meebrengen. Het is namelijk niet uitzonderlijk dat het eindproduct niet overeenkomt met de verwachtingen van de opdrachtgever. Het voordeel van scrum is dan ook dat het product, naarmate de ontwikkeling vordert, steeds meer gaat aansluiten op de wensen van de opdrachtgever. De nauwe betrokkenheid van de opdrachtgever maakt dit mogelijk. Tevens maakt de opdrachtgever bij scrum niet een beslissing over een project van honderdduizend euro, maar geeft hij de opdracht voor een sprint van enkele duizenden euro’s. Zo houdt hij grip op wat er wordt gedaan in welke tijd, welke functionaliteiten er (als eerste) worden gebouwd en wat hij uitgeeft. En wil hij stoppen? Dan is dat natuurlijk op elk moment mogelijk.

Vertrouwen

Bij scrum draait het om vertrouwen. De opdrachtgever moet erop kunnen vertrouwen dat zijn opdracht naar behoren wordt uitgevoerd. Mede daarom wordt de opdrachtgever zo intensief bij het project betrokken. “Wij werken in beste eer en geweten. Dat vertrouwen key is blijkt wel uit het feit dat veel opdrachtgevers bij ons terug blijven komen. En ook wij hebben daar natuurlijk baat bij.”

Enthousiaste medewerkers en tevreden klanten

Staan de medewerkers van Qlic eigenlijk wel te springen om zoveel inspraak van de klant? “Ja, zeker. Het nauwe contact met de klant wordt als zeer prettig ervaren, vanwege de frequente feedback en het kunnen opleveren van een product waarvan we zeker weten dat de klant er blij mee is. Een paar jaar geleden werkten we nog meer volgens de principes van de watervalmethode, dus de klant had destijds minder inspraak. Bij onze medewerkers leverde dat soms frustratie op, omdat het wel eens voorkwam dat het eindproduct niet was zoals de klant deze voor ogen had, simpelweg omdat de klant minder bij het ontwikkelproces betrokken werd. We zijn ons in die tijd dan ook steeds meer gaan verdiepen in scrum. Ieder voor zich las boeken of artikelen over scrum. Vervolgens zijn we de scrummethode gewoon gaan uitproberen. Ook hebben we een ervaren scrummaster laten meedraaien die tips en tricks gaf, zodat we de methode verder konden optimaliseren. Vandaag de dag werken we nog steeds met scrum. Onze medewerkers willen niet anders meer, en ook onze klanten zien de meerwaarde van zoveel eigen inspraak en het wekelijks of tweewekelijks opleveren van een deel van hun applicatie. Dat de klant zijn deelproduct kan testen blijkt in de praktijk zeer waardevol te zijn. De klant kan daardoor op nieuwe ideeën komen of vindt een bepaalde functionaliteit toch minder nuttig dan hij van tevoren had ingeschat. Het resultaat: een eindproduct waar de klant meer dan tevreden mee is én die zijn bedrijf echt helpt te groeien!”

"Zelf je software laten ontwikkelen is de sleutel tot een succesvol bedrijf" - Hans Stoop, directeur en medeopdrichter EnergieWonen

Je bedrijf winstgevender maken?

 

Danique Sentker
Qlic

Terug naar overzicht