01. Introduction Ă  l'EventStorming

🧩 Cet article fait partie d’une série sur l’EventStorming

Dans le développement logiciel, le principal point de friction entre les experts métier et les équipes techniques réside souvent dans la compréhension fine du métier. C’est là qu’intervient l’EventStorming, une méthode de modélisation collaborative puissante qui permet de visualiser, d’explorer et de structurer les processus métier complexes de manière efficace et intuitive.

Qu’est-ce que l’EventStorming ?

EventStorming a Ă©tĂ© introduit en 2013 par Alberto Brandolini. C’est une approche de modĂ©lisation orientĂ©e Ă©vĂ©nements mĂ©tiers (domain events) qui repose sur une session collaborative impliquant toutes les parties prenantes – dĂ©veloppeurs, experts mĂ©tier, UX designers, product owners – afin de construire ensemble une vision partagĂ©e du système.

Plutôt que de partir d’une documentation technique ou de diagrammes UML, l’EventStorming commence par des post-its de couleurs différentes, collés sur un mur ou un tableau blanc, pour représenter les événements, commandes, agrégats, acteurs, règles métier, etc.

EventStorming exemple

EventStorming repose sur quelques constats simples mais puissants :

  • Les problèmes complexes ont besoin de visualisation.
  • Les meilleures conversations naissent quand les outils s’effacent. Les tableaux blancs laissent place Ă  l’exploration, lĂ  oĂą les outils plus rigides comme BPMN ou UML freinent les idĂ©es et excluent ceux qui ne maĂ®trisent pas leur langage.

L’EventStorming est une mĂ©thode rapide et visuelle qui favorise une vision partagĂ©e et permet de dĂ©tecter prĂ©cocement les zones grises dans un processus complexe.

Pour plus de détails sur son origine et son évolution, consultez l’article complet ici : https://www.avanscoperta.it/en/eventstorming/.

Les 3 formats d’EventStorming

EventStorming se décline en plusieurs formats, adaptés à différents niveaux de profondeur. Au fil des années, trois grands types d’ateliers ont émergé :

alt text

Plus de détails sur la technique, les post-its à utiliser, les grandes étapes.

Un processus itératif

Espaces Problème / Solution

En Domain-Driven Design (DDD), il est essentiel de distinguer :

  • l’espace du problème (ce que le domaine mĂ©tier cherche Ă  rĂ©soudre) ;
  • l’espace de la solution (la façon dont le logiciel le rĂ©sout).

Modeling Whirlpool

À l’image du Whirlpool Process of Model Exploration en Domain-Driven Design, l’EventStorming permet d’itérer entre les histoires concrètes racontées par les experts métier (espace problème) et la modélisation progressive de solutions (espace solution), en affinant la compréhension du domaine à chaque boucle.

Les étapes de ces itérations :

  1. Raconter une histoire : parcourir des scénarios utilisateurs concrets pour ancrer la réflexion
  2. Proposer un modèle : élaborer un premier modèle basé sur les scénarios
  3. Découvrir de nouveaux éléments : identifier des cas limites ou contraintes inattendues
  4. Retour à l’histoire : affiner le modèle à partir des retours métier.

Ce processus est itératif : chaque passage dans le whirlpool améliore la pertinence du modèle en le confrontant à la réalité métier et aux contraintes techniques.

problem vs solution spaces

Comparaison avec d’autres outils

Dans ce workshop de modélisation, Nick Tune compare différents outils dont EventStorming, UML, BPMN, et Message flow modeling.

Entre structure et complexité

Structurer un diagramme peut apporter de la clarté, mais parfois au prix d’une complexité inutile. Les modèles structurés (comme UML) offrent de la précision, mais peuvent donner une fausse impression de qualité en dissimulant des erreurs de conception. Les modèles flexibles (comme EventStorming) encouragent l’exploration et la créativité, mais peuvent devenir flous sans cadre.

Il faut choisir l’approche selon le besoin : privilégier la souplesse pour explorer, et la rigueur pour formaliser.

alt text

Outil Caractéristiques
EventStorming
  • Outil collaboratif et flexible, idĂ©al pour explorer un domaine.
  • Très expressif mais potentiellement chaotique sans cadre ni facilitateur
  • Utile en phase de dĂ©couverte, moins adaptĂ© Ă  la structuration technique
BPMN
  • Approche formelle et structurĂ©e pour modĂ©liser des workflows.
  • Efficace pour documenter, mais devient complexe si trop dĂ©taillĂ©.
  • Moins adaptĂ© Ă  l’exploration ou Ă  la conception souple.
UML Sequence Diagram
  • Très structurĂ©, idĂ©al pour reprĂ©senter des flux sĂ©quentiels prĂ©cis.
  • Apporte clartĂ© et rigueur, mais peu flexible.
  • Peut masquer des dĂ©fauts de conception derrière sa formalisation.
Message Flow Modeling
  • Plus structurĂ© qu’EventStorming, moins rigide qu’UML.
  • Permet d’explorer, puis de prĂ©ciser les Ă©changes entre bounded contexts.
  • RĂ©vèle les dĂ©pendances, couplages, et anti-patterns (ex. monolithe distribuĂ©)
  • Il peut ĂŞtre utilisĂ© pour dĂ©couper un monolithe.

Espaces DDD et outils

Les outils de modĂ©lisation s’inscrivent dans les espaces du DDD, selon qu’ils servent Ă  explorer le problème ou Ă  concevoir la solution :

  • Espace problème :
    Big Picture EventStorming, Process Modelling EventStorming, BPMN - pour comprendre le métier, ses processus et ses acteurs.

  • Espace solution :
    Software Design EventStorming, Domain Message Flow Modeling, Diagrammes de séquence UML - pour concevoir les interactions, les composants et les limites du système.

alt text

Conclusion

En combinant ces trois formats, il est possible d’orchestrer une approche holistique : commencer par un Big Picture, zoomer avec un Process Modeling, puis approfondir la conception avec un Software Design.

Un fil conducteur : la collaboration visuelle, au service de la compréhension et de l’action.

Plus de détails sur la technique, les post-its à utiliser, les grandes étapes.

Last modified June 3, 2025: illustration (72fe6ce)