• Home
  • Blog
  • Hoe we EventStorming gebruiken om onze processen inzichtelijk te maken

Hoe we EventStorming gebruiken om onze processen inzichtelijk te maken

A lot of knowledge about our processes is stored in the heads of our employees. To learn and improve as a company, we need to get that knowledge out in the open. I’m going to show how EventStorming helped us with that.

Geplaatst op
7 sep. 2021
Leestijd
7 Minuten
Geschreven door
Knowly

Net als elk ander bedrijf hebben we veel processen bij Easy LMS. Bijvoorbeeld hoe we support tickets afhandelen of nieuwe functies ontwikkelen. We gebruiken de Verbeterkata om onze processen te optimaliseren. Een van de eerste stappen is het specificeren van de huidige situatie. Het blijkt echter dat iedereen zijn eigen kijk heeft op wat de huidige situatie is. EventStorming is een techniek die we gebruiken om onze processen eenduidig te definiëren.

Stel je voor dat je een nieuwe medewerker bent bij een bedrijf. Je wordt gekoppeld aan een meer ervaren teamlid en doorloopt alle, meestal ongedocumenteerde, bedrijfsprocessen. Je creëert een mentaal model van het proces door vragen te stellen en documentatie te lezen. Hoe meer ervaring je opdoet, hoe minder vragen je hoeft te stellen en hoe minder documentatie je hoeft te lezen. De meeste dingen doe je (semi-)automatisch.

Minder actuele documentatie over een proces zal leiden tot meer variatie in de mentale modellen die werknemers van dat proces hebben.

Als je vervolgens vergelijkt hoe je het proces aanpakt met een ander teamlid, zul je merken dat je sommige dingen heel anders doet. Dit komt omdat jullie mentale modellen verschillen.

Wanneer je een proces optimaliseert met behulp van de Improvement Kata, kan het moeilijk zijn om de huidige situatie te beschrijven wanneer de mentale modellen aanzienlijk verschillen. Hadden we maar een manier om deze mentale modellen om te zetten in documentatie.

Hoe we bij EventStorming zijn gekomen

Begin 2020 bezocht ik de Domain-Driven Design Europ conferentie om meer te leren over het beter modelleren van onze software. Een workshop waar ik aan mee wilde doen ging over EventStorming. Ik had er al eerder over gelezen en ik dacht dat het ons zou kunnen helpen om domeinspecifieke kennis uit de hoofden van onze experts te halen op een manier die makkelijk te delen is met de ontwikkelaars. Zo zouden we betere software kunnen bouwen. Het bleek dat EventStorming heel nuttig is voor het modelleren van software, maar ook voor het modelleren van bedrijfsprocessen!

Helaas sloeg de pandemie toe. We sloten ons kantoor en begonnen op afstand te werken. EventStorming draait om het hebben van een groep experts in een kamer die werken aan een groot gedeeld oppervlak. Dit was niet langer mogelijk om te organiseren. Gelukkig realiseerde Alberto Brandolini, de oprichter van EventStorming, zich dit ook en organiseerde hij een andere workshop om dit probleem op te lossen: Remote EventStorming. Ik deed mee en wachtte daarna op een kans om te experimenteren met EventStorming.

Ons ontwikkelproces modelleren met EventStorming

De afgelopen maanden hebben we ons ontwikkelproces vaak veranderd. Soms mislukte het proces, en het werd duidelijk dat niemand meer het totale overzicht over het proces had. Het perfecte kandidaat-proces om EventStorming op uit te proberen!

Ik vertel het team dat ik wil experimenteren met EventStorming. Ik ben ervan overtuigd dat we hiermee een goed overzicht kunnen krijgen van het huidige ontwikkelproces. Ik nodig een paar geïnteresseerde ontwikkelaars van beide teams uit en maak een gedeeld remote whiteboard met Miro. We volgen de standaardstappen van EventStorming:

  1. Chaotische verkenning: maak plakbriefjes voor alle gebeurtenissen die je kunt bedenken en die in het proces plaatsvinden.

  2. Dwing de tijdlijn af: rangschik de gebeurtenissen van het begin van het proces naar het einde.

    Verrijk de gebeurtenissen: voeg metagegevens toe aan elke gebeurtenis. De opdracht (actie) waarmee de gebeurtenis wordt gestart, de benodigde gegevens, het systeem dat actie onderneemt en het beleid dat aangeeft wat er vervolgens moet gebeuren.

Chaotische verkenning

In het begin voelt het een beetje onwennig. Maar zodra de eerste plakbriefjes verschijnen, gaat het tempo omhoog en zit iedereen er helemaal in.

We beginnen met alle deelnemers een eigen stuk whiteboard en een kleur te geven (maar niet oranje, daarover later meer). Ze krijgen 25 minuten de tijd om sticky notes te maken voor alle gebeurtenissen die ze kunnen bedenken en die tijdens het proces plaatsvinden. Een gebeurtenis is iets dat in het verleden gebeurd is en niet meer veranderd kan worden. Daarom schrijf je ze op in de verleden tijd. Bijvoorbeeld: "Code repository aangemaakt" of "Code uitgerold naar de productieomgeving."

Ik moedig ze aan om "vals te spelen" en te kijken naar de gebeurtenissen die andere deelnemers opschrijven, omdat het een heel nieuw deel van het proces kan openen waar je eerder niet aan dacht. Het is prima om gebeurtenissen toe te voegen die andere deelnemers ook hebben.

De tijdlijn handhaven

Nadat ik merk dat er geen nieuwe plakbriefjes op het bord verschijnen, gaan we verder met de volgende stap. Ik trek een lijn op het whiteboard. Dan vraag ik iedereen om een sticky note te kiezen van de gebeurtenis die als eerste plaatsvindt in het ontwikkelingsproces en deze boven de tijdlijn te plaatsen. We bespreken kort welke gebeurtenis echt de eerste is en plaatsen deze aan het begin van de tijdlijn. Om aan te geven dat we het allemaal eens zijn over deze gebeurtenis en zijn plaats op de tijdlijn, veranderen we de kleur van het plakbriefje in oranje (daarom waren er eerder geen plakbriefjes in deze kleur?). Daarna gaan we verder met de volgende gebeurtenis.

We krijgen een uitgebreidere discussie over een gebeurtenis. Om de stroom op gang te houden, maak ik een speciaal soort sticky note genaamd een hotspot. Daarop beschrijf ik het probleem en dan gaan we verder. We komen later terug op de hotspots. We komen een gebeurtenis tegen die door meerdere deelnemers is aangemaakt. We houden degene die de gebeurtenis het beste beschrijft en verwijderen de anderen. We voegen ook takken toe voor voorwaardelijke gebeurtenissen. We plaatsen ze boven of onder de tijdlijn van het primaire proces.

Na tweeënhalf uur stoppen we. De tijdlijn is klaar en alle hotspots zijn opgelost. Iedereen heeft energie en we plannen meteen de volgende bijeenkomst om het proces duidelijker te maken door de gebeurtenissen te verrijken met metadata.

De gebeurtenissen verrijken met metadata

Het uitleggen van deze stap werkt het best met een afbeelding:

Aan het begin van ons (deel)proces (grote zwarte sticky note) moeten we actie ondernemen (blauwe sticky note) om het werk te verdelen. Hiervoor hebben we informatie nodig (groene sticky note) in de vorm van de user story waaraan we gaan werken. Jira is het systeem (grote roze sticky note) dat we hiervoor gebruiken. Als we klaar zijn, hebben we de user story opgedeeld in zogenaamde subtaken. Dat is een gebeurtenis (oranje sticky note). Het ontwikkelbeleid (grote paarse sticky note) vertelt ons vervolgens wat onze volgende actie is: een subtaak in Jira in voortgang zetten.

We volgen de tijdlijn en verrijken elke gebeurtenis. Als we niet zeker weten hoe we een gebeurtenis moeten verrijken met metadata, maken we een hotspot en gaan we verder. Later bekijken we alle hotspots opnieuw. Sommige hotspots kunnen we niet repareren. Bijvoorbeeld wanneer we het verhaal demonstreren, omdat dat afhankelijk is van de planning van belanghebbenden. Of wanneer we documentatie maken voor het verhaal omdat dat nog geen onderdeel is van ons proces. Dat is niet erg; we beschrijven gewoon de huidige situatie van ons proces. Maar het is wel iets wat we kunnen verbeteren!

Experiment succesvol afgerond

Iedereen is enthousiast over EventStorming en de resultaten die we ermee hebben behaald.

Ik had er vertrouwen in dat we een goed overzicht konden krijgen van het huidige ontwikkelproces door een EventStorm uit te voeren. Uiteindelijk hebben we inderdaad een duidelijk beeld van ons ontwikkelproces:

Het is nu eenvoudig om aan anderen uit te leggen wat ons huidige ontwikkelproces is. We weten ook dat we een aantal essentiële onderdelen missen in ons huidige proces.

Ik kan niet wachten om te beginnen met het modelleren van onze andere bedrijfsprocessen!

Bekijk meer van onze blogs

Caroline

Caroline

16 mrt. 2020

Wereldheerschappij, één taal tegelijk!

Ok, so maybe world domination isn’t our actual goal, but the localization of our product is a really important part of enabling our tool to be as accessible as possible to as many people as possible, all over the globe. 

Meer lezen
Knowly

Knowly

29 jun. 2021

Waarom verbeteringen en onderhoud net zo belangrijk zijn als nieuwe functies

In the interview series Development Talks, we give you a look behind the scenes of our development processes. This time Joey, one of our back-end developers, spoke. He explained to us why working on maintenance is as important as building new features. What do we consider as maintenance? And how do we do it?

Meer lezen
Anouk

Anouk

20 nov. 2020

Wie is Knowly?

Je hebt waarschijnlijk al gemerkt dat er een uil rondhangt bij Easy LMS ... we noemen hem Knowly! Maar wie is Knowly en waar komt hij vandaan? Hier volgt een klein verhaaltje over onze favoriete uil.

Meer lezen