Hvad er Event Storming?
Event Storming er en form for brainstorm-proces, der kan hjælpe med at afdække alle de forskellige processer, der kan foregå inden for et softwareprograms domæne. Det er med andre ord en metode, der kan kortlægge alle de forskellige handlinger, et stykke software skal kunne, samt mulige fejlkilder og alternative scenarier. Event Storming er en ufatteligt effektiv brainstorming-metode, der oftest bruges i forbindelse med DDD (Domain-Driven Design).
Event Storming er intuitivt og overskueligt og kan udføres helt uden brug af en computer.
Man kan udføre en Event Storming uden brug af andet end et par kuglepenne og nogle sticky notes, men man kan naturligvis også sagtens udføre en Event Storming online ved brug af et delt online-whiteboard. For at kunne forstå en Event Storming er der et par vigtige begreber, du er nødt til at have kendskab til:
- Domæne – Ét bestemt forretningsområde inden for en branche
- Domæneekspert – En person med stor faglig viden inden for et domæne
- Domæne-event – En hændelse i et bestemt domæne

Hvad får du ud af at lave en Event Storming?
Formålet med en Event Storming er at kortlægge alle hændelserne, der kan foregå i et stykke software. Et eksempel på nogle hændelser kunne være en kunde på en webshop, som tilføjer et produkt til sin kurv. Det resulterer så i en række hændelser. Først oprettes kurven, og så tilføjes et produkt. Disse hændelser er essentielle funktioner, som softwaren skal have. Derfor udfører man en Event Storming, før man begynder at udvikle softwaren, idet man på den måde bliver sikker på alle de forskellige funktioner, den skal indeholde.
En anden fordel er, at en Event Storming udføres i fællesskab mellem udviklere og eksperter på de forskellige domæner, hvilket resulterer i en bedre forståelse for, hvordan softwaren fungerer, og et form for fællessprog, som kaldes et Ubiquitous Language. Et Ubiquitous Language benyttes af både udviklere og domæneeksperter, hvilket mindsker forvirring og effektiviserer kommunikation og forståelse mellem udviklere og domæneeksperter.
Hvordan udføres en Event Storming?
En Event Storming er i bund og grund en relativt simpel proces, der kan udføres på overskuelig vis. Når man laver en Event Storming, kan man have fokus på nogle forskellige ting, men formålet er generelt at forsøge at kortlægge alle hændelserne inden for et domæne og hvilke processer, disse hændelser sætter i gang. En Event Storming kunne evt. se sådan ud:
- Saml det rigtige team til opgaven – Dit team skal indeholde en blanding af forretningsfolk og teknikere.
- Hav en overflade og en masse sticky notes – Det skal koordineres, hvad de forskelligfarvede sticky notes betyder:
For eksempel:
-
- Gul – Domæne-events
- Blå – Aktører (hvem eller hvad der udløser eventene)
- Grøn – Kommandoer (handlinger, som softwaren skal udføre på basis af en bruger eller et andet event)
- Røde – Mulige fejl eller risici ved de forskellige processer
- Kortlæg alle domæne-events – Hændelserne skal sættes op i kronologisk rækkefølge
- Find ud af, hvilke aktører der udløser hændelserne
- Find ud af, hvilke kommandoer der gives ved hver hændelse
- Inddel hver af de forskellige processer, så du får nogle mindre, sammenhængende kæder af hændelser, aktører og kommandoer.
Efter en Event Storming skal alle deltagere gerne have fået en bedre forståelse for, hvilke processer der foregår i domænet, og det er dermed blevet lettere for udviklerne og domæneeksperterne at arbejde imod et fælles mål. En Event Storming er derfor en fantastisk måde at sikre, at du får det bedst mulige software, der passer til lige netop dit behov.

Kontakt CodeOptimus for en uddybende snak om Event Storming!
Hos CodeOptimus er vi klar til at hjælpe jer igennem en Event Storming, så I kan være sikre på, hvad jeres software skal kunne, og så I kan opnå en bedre forståelse for både softwaren, men også de forretningsmæssige behov, den skal kunne betjene.