Fältanteckningar
Domänkunskap är oftast utspridd hos flera människor samtidigt: affärsfolk, utvecklare, drift, support. Ingen enskild person har hela bilden. Traditionella metoder (kravdokument, UML, storyboards) börjar oftast i datamodellen eller UI-skissen, och riskerar därmed att missa de ögonblick där något betydelsefullt händer i verksamheten. EventStorming vänder på det och börjar i andra änden: vad är det som ska inträffa, sett från affärens perspektiv? Då dyker de mänskliga besluten, gränserna, aggregaten, osv upp "av sig själva".
EventStorming är en kollaborativ workshop-teknik utvecklad av Alberto Brandolini. Idén är att snabbt visualisera ett domänbeteende genom att tillsammans namnge domänhändelser (domain events) i kronologisk ordning på en lång vägg.
Att köra workshopen tillsammans i samma rum är det överlägset bästa alternativet, men ibland är det intressant att ta in resultatet i ett digitalt verktyg för vidare förädling efteråt. Och ibland får digitalt samarbete helt enkelt duga när alternativet inte är möjligt.
Att namnge händelserna är ett av flera ställen där det gemensamma ordförrådet arbetas fram. En händelse formuleras i dåtid, med de ord verksamheten faktiskt använder, så en vägg av dem är en bra start på Ubiquitous Language. Hört högt, i rummet, från alla som är där.
En start, dock, och inte språket självt. Och notera vems språk det blir: ett Ubiquitous Language tillhör teamet i en Bounded Context, inte affärssidan och inte utvecklarna heller. Det som får det att fungera är att det inte finns någon överlämning mellan rollerna. Utvecklarna är med i samtalet och hjälper både språket och förståelsen av affären att växa. Domänexperterna är med i designarbetet, där samma språk måste hålla. Båda, hela vägen. Det är tricket, och det är därför väggen är värd att stå vid tillsammans.
Det lever också: det fortsätter utvecklas i takt med förståelsen, och ett namn som var rätt på väggen kan vara fel tre månader senare. Det sätts aldrig en gång för alla, och ett namnbyte är oftast framsteg snarare än onödigt omtag.
När två personer i rummet namnger samma ögonblick olika har du hittat antingen en synonym att reda ut eller en gräns att dra.
Alberto pratar också om Value-Driven EventStorming och UX-Driven EventStorming. Vi har valt att samla dessa under Process modeling, med en förtydligande notering så att det blir tydligt för läsaren vad som menas. :)