Event Storming nella pratica – Post 1

Creato dall’italiano Alberto Brandolini, l’Event Storming è un workshop flessibile e collaborativo che ci aiuta a esplorare i domini di business e a modellare il nostro software. La tecnica permette di visualizzare connessioni inesplorate e ci aiuta a rendere possibili nuovi modelli di business, massimizzando l’esperienza dell’utente. La collaborazione tra esperti del settore e tecnici offre maggiore chiarezza su ciò che verrà costruito e aiuta nella progettazione di un software orientato agli eventi, pulito e di facile manutenzione, per supportare aziende in rapida evoluzione.

L’Event Storming migliora la collaborazione tra i membri del team fornendo un approccio strutturato per modellare sistemi e processi. (GRIMM, 2021). Partecipando a un workshop di Event Storming, sviluppatori e professionisti del business possono mappare collaborativamente il comportamento, gli eventi e i risultati del sistema, facilitando una migliore comprensione del design e della funzionalità di ciò che verrà sviluppato.

Figura 1 – Configurazione della sede del workshop. Figura estratta dal libro dello stesso creatore della tecnica.


Carreira Análise de Dados

Utilizzando l’Event Storming possiamo ottenere alcuni vantaggi:

Riduzione del tempo: Quando mettiamo insieme le persone più importanti per pensare insieme, formando un team multidisciplinare, il tempo relativo alle dipendenze e soprattutto i dubbi riguardanti il business possono essere risolti più rapidamente.

Collaborazione: In modo ludico, professionisti del business e sviluppatori possono partecipare insieme alla creazione dell’applicazione. Otterremo preziosi insights che non avremmo ottenuto se avessimo pensato ognuno nella propria verticale organizzativa.

Semplicità: Dovremmo sempre optare per la semplicità. Discussioni aperte e senza giudizi possono aiutare anche i più timidi a esprimersi. Il workshop è un ambiente democratico in cui tutti possono e devono partecipare.

Efficacia: Una delle prime cose da fare prima di iniziare un workshop è selezionare le persone giuste, questo ci porterà a creazioni più ricche e pertinenti rispetto a ciò che sarà sviluppato. È un evento pratico e le decisioni prese possono essere facilmente messe in pratica.

Breve Roadmap

La tecnica di Event Storming di Alberto Brandolini coinvolge diversi stadi che sono cruciali per il brainstorming di concetti tecnologici. Secondo l’autore, la prima fase consiste nell’identificare le persone. In questo senso, dobbiamo coinvolgere le persone che sanno fare le domande giuste e quelle che hanno le risposte. (BRANDOLINI, 2018)

Fondamentalmente, nella prima fase identificheremo gli eventi di dominio. Un evento, generalmente identificato dal colore arancione, deve essere scritto con un verbo al passato. Per ogni evento, avremo un’azione associata. L’ideale qui è che i professionisti del business e gli sviluppatori abbiano un linguaggio comune.

Il linguaggio ubiquo nel contesto del software si riferisce a un linguaggio coerente e condiviso utilizzato da tutti i membri del team, inclusi sviluppatori, stakeholder ed esperti del dominio, durante l’intero processo di sviluppo del software. (SPÍNOLA, 2012)

Ogni evento è preceduto da un comando e, di conseguenza, genera una reazione. L’altro lato del processo dell’evento è ciò che accade come risultato dell’evento. Queste sono chiamate reazioni. Le reazioni sono le azioni o i risultati necessari dopo un evento e sono annotate al presente. Ad esempio, un flusso di processo di reazione a un evento può indicare: “Quando viene creata una nuova account, invieremo un’e-mail di conferma”.

Dopo la definizione degli eventi, fatta in modo libero, passiamo alla fase di consistenza del flusso. Identificheremo gli eventi davvero importanti e ci assicureremo che siano adeguati alla linea temporale.

Identificheremo anche gli eventi chiave, pochi ma molto significativi per il flusso. Questi sono frequentemente gli eventi con il maggior numero di persone interessate (un Ordine Effettuato può scatenare reazioni nel dipartimento di fatturazione e nella spedizione, ad esempio). Stabiliamo alcune “frontiere”, contesti tra le diverse fasi del flusso del business.

Secondo l’autore, 4-5 eventi-pivot sono sufficienti per permettere una più rapida ordinazione degli eventi rimanenti: le persone metteranno facilmente il loro flusso nella porzione corrispondente del flusso e, eventualmente, inizieranno conversazioni con i loro colleghi vicini.

Facilitatore

Un terzo ruolo fondamentale per la realizzazione del workshop è quello del Facilitatore. Brandolini afferma che dobbiamo contare su qualcuno che possa gestire i disaccordi senza troppo peso emotivo o una posizione predefinita sull’argomento. Le responsabilità del facilitatore includono la preparazione del workshop, fornendo tutto il materiale di cancelleria necessario. Egli permetterà ai partecipanti di sentirsi in un ambiente sicuro, consentendo a tutti di contribuire efficacemente.

Il facilitatore assicura che il workshop proceda in modo organizzato, evitando che le discussioni si prolunghino oltre il necessario e mantenendo tutti i partecipanti coinvolti. Egli aiuta anche a preservare il flusso degli eventi, evidenziando gli eventi pivot e guidando l’ordinamento degli eventi.

Brandolini nel libro cita che il facilitatore deve mantenere l’illusione che tutto sia sotto controllo, anche nei momenti di caos e disordine.

Event Storming e Design Thinking

Potresti chiederti se Event Storming e Design Thinking siano la stessa cosa. Posso affermare che non lo sono, sebbene condividano molti punti in comune. Il primo è la collaborazione che coinvolge diverse parti interessate. Così come nell’Event Storming, anche nel Design Thinking si lavora con team multifunzionali.

Un altro punto rilevante è la centralità dell’utente (BENDER-SALAZAR, 2023), che è essenziale per chi partecipa a un evento di modellazione di un software. Inoltre, entrambe le metodologie hanno una fase di scoperta: Event Storming attraverso l’identificazione e la mappatura degli eventi, e il Design Thinking nella definizione del problema.

È importante sottolineare che entrambe le tecniche hanno un carattere visivo e una struttura molto flessibile. Entrambe incentivano la creatività e l’innovazione nella risoluzione dei problemi. Event Storming facilita la scoperta di nuovi modi per comprendere e migliorare il flusso dell’applicazione, mentre il Design Thinking cerca soluzioni innovative che soddisfino le esigenze degli utenti in modo efficace.

Event Storming e Design Thinking sono metodologie complementari che condividono molti principi e pratiche fondamentali. Mentre ciascuna ha il proprio focus e applicazione specifici, entrambe sono potenti strumenti per promuovere la collaborazione, l’innovazione e la risoluzione di problemi complessi in modo efficace e centrato sulle persone.

Conclusione

Questo è il primo articolo sull’Event Storming. Nei prossimi articoli dettaglierò la tecnica e mostrerò in pratica come la applico, evidenziando i punti in comune con il Design Thinking e il DDD.

Per scrivere questo post ho utilizzato le seguenti referenze:

BRANDOLINI, A. Introducing EventStorming. [s.d.].

Design thinking as an effective method for problem-setting and needfinding for entrepreneurial teams addressing wicked problems. Journal of Innovation and Entrepreneurship, v. 12, n. 1, p. 1–23, 13 abr. 2023.

GRIMM, V.; RUBART, J. Modelling Gamified Systems with Event Storming Augmented by Spatial Hypertext. Proceedings of the 4th Workshop on Human Factors in Hypertext. Anais…: HUMAN ’21. New York, NY, USA: Association for Computing Machinery, 6 out. 2021. Disponível em: <https://doi.org/10.1145/3468143.3483927>. Acesso em: 15 jun. 2024

SPÍNOLA, R. O.; TRAVASSOS, G. H. Towards a framework to characterize ubiquitous software projects. Information and Software Technology, v. 54, n. 7, p. 759–785, jul. 2012.

What Is Event Storming? | Lucidchart Blog. Disponível em: <https://www.lucidchart.com/blog/ddd-event-storming>. Acesso em: 14 jun. 2024.

Sobre o autor

Rodrigo Zambon
Sólida experiência em Metodologias Ágeis e Engenharia de Software, com mais de 15 anos atuando como professor de Scrum e Kanban. No Governo do Estado do Espírito Santo, gerenciou uma variedade de projetos, tanto na área de TI, como em outros setores. Sou cientista de dados formado pela USP e atualmente estou profundamente envolvido na área de dados, desempenhando o papel de DPO (Data Protection Officer) no Governo.
0 respostas

Deixe uma resposta

Want to join the discussion?
Feel free to contribute!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *