Heeyoo

Vooruitkijken met
Power BI en
Monte Carlo forecasting

Wanneer is het werk klaar? Dat is dé grote vraag die elke IT-manager, elke projectleider heeft. In deze case hielpen wij onze opdachtgever om dit inzicht te krijgen. Om hun DevOps-ontwikkelproces van de verschillende producten goed te laten verlopen, is het belangrijk dat de juiste keuzes in het proces worden gemaakt en dat problemen op tijd worden herkend. Daarvoor hebben zij inzicht nodig in wat er gebeurt, hoe lang werk duurt en wanneer werk waarschijnlijk afgerond kan zijn. Casper ontwikkelde voor hen een Power BI-dashboard dat historische data gebruikt om kansberekeningen voor de toekomst te maken. Scrum masters, product owners en andere betrokkenen kunnen deze informatie gebruiken om vooruit te kijken en keuzes te onderbouwen.

Monte Carlo simulatie

Short
and Sweet

Waar was de klant naar op zoek?

Onze opdrachtgever, een landelijke overheidsorganisatie, wilde meer inzicht in het DevOps-ontwikkelproces. En zij wilden antwoord op de vraag: Wanneer is het werk klaar?
Dus eigenlijk wilden zij een geavanceerde manier om betrouwbaar te kunnen plannen. Alle benodigde informatie was wel aanwezig in Azure DevOps, maar nog niet op een manier waarop deze snel en duidelijk gebruikt kon worden.

Hoe hebben we ze geholpen?

Casper ontwikkelde een Power BI-rapportage met verschillende dashboards. Daarin worden bestaande gegevens uit Azure DevOps gebruikt om inzicht te geven in onder andere throughput (productiviteit), doorlooptijd, efficiëntie en forecasting.

Voor de forecasting wordt een Monte Carlo-simulatie gebruikt. In die simulatie worden op basis van historische data duizenden mogelijke scenario’s doorgerekend die inzicht geven in de waarschijnlijkheid dat een bepaalde hoeveelheid werk binnen een bepaalde periode wordt afgerond.

En, is de klant blij?

Zeker! De rapportage geeft scrum masters, product owners en andere betrokkenen meer houvast bij planning en voortgang en het geeft ze inzicht in in zaken zoals efficiëntie.
De informatie was altijd al beschikbar in Azure DevOps , maar wordt nu ook echt gebruikt om het gesprek te voeren over verwachtingen, planningsbetrouwbaarheid en verbeteringen in het proces.

Wat was de uitdaging?

Binnen Azure DevOps was veel informatie beschikbaar over het werk van de verschillende teams. Het ging bijvoorbeeld om user stories, doorlooptijden, throughput en de stappen die werk binnen het proces doorloopt.
Die informatie was alleen nog niet makkelijk te gebruiken voor rapportages en voorspellingen. Het was daardoor lastig om snel antwoord te geven op vragen als:

  • Hoeveel werk ronden we normaal gesproken af?
  • Waar ontstaat wachttijd?
  • Hoe lang duurt ingeschat werk?
  • Wanneer kan een bepaalde hoeveelheid werk waarschijnlijk klaar zijn?
  • Hoe betrouwbaar zijn onze inschattingen?

Vooral die laatste vraag is lastig. Een vaste einddatum geeft al snel meer zekerheid dan de data kan onderbouwen. Tegelijkertijd willen managers, projectleiders, product owners en scrum masters wel weten waar ze rekening mee kunnen houden.

“Het dashboard dat Casper bouwde, heeft ons geholpen om snel en duidelijk informatie te ontsluiten die we nog niet makkelijk uit Azure DevOps konden halen.”

Mark Dollekamp, QA Manager

Wat hebben we gedaan?

Casper bouwde een Power BI-rapportage op basis van de bestaande data uit Azure DevOps. De werkwijze van de teams hoefde daarvoor niet te worden aangepast. Het dashboard werd boven op het bestaande proces geplaatst.
Binnen de rapportage zijn verschillende onderdelen opgenomen.

Inzicht in throughput

Het dashboard laat zien hoeveel werk een team binnen een bepaalde periode afrondt. Dat kan worden weergegeven op basis van het aantal user stories en op basis van effort.
Ook is het mogelijk om vanuit het dashboard door te klikken naar de onderliggende informatie in Azure DevOps.

 

Inzicht in doorlooptijd en efficiëntie

De rapportage maakt zichtbaar hoe lang werk binnen het proces onderweg is en waar wachttijd ontstaat.
Dat geeft teams informatie om te onderzoeken waar het proces kan worden verbeterd en waar werk onnodig lang blijft liggen.

Forecasting met een Monte Carlo-simulatie

Een belangrijk onderdeel van het dashboard is de Monte Carlo forecasting.
Op basis van de throughput over een geselecteerde periode voert het dashboard 10.000 simulaties uit. Iedere simulatie geeft een mogelijke uitkomst. Op basis van al die uitkomsten wordt berekend hoe waarschijnlijk het is dat een bepaalde hoeveelheid werk op een bepaald moment klaar is.
Een gebruiker kan bijvoorbeeld invoeren hoeveel items nog afgerond moeten worden. Het dashboard laat vervolgens zien in welke week het werk met bijvoorbeeld 50, 85 of 95 procent zekerheid klaar kan zijn.
De berekening kan ook worden omgedraaid. Dan wordt zichtbaar hoeveel werk het team binnen een gekozen periode waarschijnlijk kan afronden.

 

“Door te forecasten op basis van onze data uit Azure DevOps, hebben we reële verwachtingen over wanneer iets klaar is. Alle complexiteit van het team is inherent al meegenomen.”

Pieter Tichelaar, senior QA Consultant

Regelmatige afstemming met de gebruikers

Tijdens de ontwikkeling zocht Casper regelmatig afstemming met de mensen die met het dashboard gingen werken.
Op die manier kon de rapportage in korte tijd worden opgebouwd en steeds worden aangepast op basis van de informatie die gebruikers nodig hadden.

Wat loste dat op?

De rapportage maakt informatie beschikbaar die voorheen niet makkelijk uit Azure DevOps kon worden gehaald.
Gebruikers kunnen het dashboard openen en direct zien hoe het werk ervoor staat. De informatie kan worden gebruikt tijdens overleggen over voortgang, planning en verwachtingen.

Meer houvast bij planning

De forecasting geeft geen vaste datum, maar laat zien hoe waarschijnlijk het is dat werk binnen een bepaalde periode wordt afgerond.
Daarmee kunnen betrokkenen bespreken welk zekerheidspercentage zij acceptabel vinden en welke planning daarbij hoort.

“Door de inzichten via Power BI hebben we handvatten gecreëerd om te werken aan planningsbetrouwbaarheid over een langere periode. De indicaties geven houvast en onderbouwing wanneer wij werk potentieel afgerond kunnen hebben.”

Tony van der Niet, Scrum Master

Beter inzicht in de manier van schatten

De rapportage laat ook zien hoe lang ingeschat werk er in de praktijk over doet.
Dat geeft teams informatie over hoe goed zij user stories inschatten en waar verbetering mogelijk is.

Informatie gebruiken om het proces te verbeteren

Doordat verschillende soorten informatie samenkomen in één rapportage, kunnen teams beter onderzoeken wat er in het proces gebeurt.
Ze kunnen terugkijken naar wat er is gebeurd en vooruitkijken naar wat op basis van de beschikbare data waarschijnlijk is.

“Het is een hele handige toevoeging aan het backlogsysteem dat we tot nu toe hebben. De vele soorten informatie die nu beschikbaar zijn en we voorheen niet inzichtelijk konden maken, kunnen we nu gebruiken om ons proces te verbeteren en voorspelbaarder te worden.”

Steven Plaisier, senior QA specialist

Werken met de data die er al is

De rapportage gebruikt data die al binnen Azure DevOps wordt vastgelegd. Teams hoeven hun bestaande werkwijze daardoor niet te veranderen om het dashboard te kunnen gebruiken.
Hoe meer historische data beschikbaar is, hoe meer informatie er kan worden gebruikt voor de kansberekeningen. De data hoeft niet per se uit Azure DevOps te komen. Ook gegevens uit andere systemen kunnen worden getransformeerd en in een vergelijkbare rapportage worden gebruikt.
De manier waarop de data wordt gemodelleerd en gevisualiseerd, is wel afhankelijk van de bron.

Wat vindt Casper
zelf van het resultaat?

Binnen een relatief korte periode bouwde Casper de rapportage vanaf de grond op. Voor hem laat het project vooral zien wat historische data kan betekenen bij het maken van keuzes over toekomstig werk.

 

“Voor mij is dit project een bevestiging van de kracht van data. Niet als magische voorspeller van de toekomst, maar als instrument om weloverwogen beslissingen te nemen. Met behulp van Monte Carlo-simulaties berekenen we geen exacte uitkomst. We maken een uitgebreide kansberekening door verschillende mogelijke scenario’s voor het toekomstige proces door te rekenen. Dat is wat de rapportage voor mij waardevol maakt. De gebruikers krijgen een onderbouwd en toepasbaar beeld van wat er hoogstwaarschijnlijk te wachten staat.”

FAQ

In de statistiek is Monte-Carlo simulatie een simulatietechniek waarbij een fysiek proces niet één keer maar vele malen wordt gesimuleerd, elke keer met andere startcondities. Het resultaat van deze verzameling simulaties is een verdelingsfunctie die het hele gebied van mogelijke uitkomsten weergeeft. De achterliggende gedachte is om problemen die analytisch moeilijk of niet oplosbaar zijn, numeriek op te lossen met behulp van de steekproeven.

De term Monte-Carlo is afgeleid van het beroemde casino uit Monte Carlo. Dat betekent niet dat het een methode is die gebaseerd is op gokken. Het verwijst naar de manier waarop, voor elke nieuwe simulatie (een van de vele), de startcondities worden bepaald, uitgaande van een verzameling van reëel te verwachten condities.

Monte-Carlosimulaties worden in verschillende wetenschappelijke toepassingen gebruikt, zoals bij verschillende NASA-projecten waar onzekerheden een belangrijke rol spelen. Ook economische problemen maken veelvuldig gebruik van Monte-Carlosimulaties.

Bron: https://nl.wikipedia.org/wiki/Monte-Carlosimulatie

Monte Carlo forecasting is een manier om met behulp van Monte Carlo-simulaties mogelijke toekomstige uitkomsten te berekenen.

In het dashboard uit deze case wordt historische throughput gebruikt: het aantal werkitems dat een team in eerdere periodes heeft afgerond. Op basis daarvan worden 10.000 mogelijke scenario’s doorgerekend.

De uitkomst laat bijvoorbeeld zien met welke waarschijnlijkheid een bepaalde hoeveelheid werk voor een bepaalde week kan zijn afgerond.

Benieuwd of wij iets voor je kunnen betekenen?

Bij Heeyoo helpen wij onze opdrachtgevers met uiteenlopende vraagstukken. Samen met onze consultants proberen wij de best mogelijke oplossing te bedenken voor de uitdagingen. Wil je eens sparren? Wie weet kunnen we je helpen. Ik ga graag met je in gesprek. Mail mij op [email protected] of bel me op 06-23083605

Bedankt, we gaan voor je aan de slag!