Découvrez l'Eventstorming : un format d’atelier agile favorisant une collaboration efficace et l'innovation

Didier Schonne
18 octobre 2023

Que vous soyez Scrum Master, développeur, chef de produit ou tout simplement curieux, cet article vous guidera à travers les méandres de l'Eventstorming en expliquant les concepts puis dans la pratique à travers les 3 étapes clés de l’atelier.

Lors du dernier meetup Tech Talks organisé par Flint, Didier Schonne, ancien flinter, est venu présenter l’atelier Eventstorming, format agile visant à favoriser la communication interdisciplinaire, améliorer la compréhension de vos processus métier et ainsi optimiser la mise en œuvre de vos projets. 

Que vous soyez Scrum Master, développeur, chef de produit ou tout simplement curieux, cet article vous guidera à travers les méandres de l'Eventstorming en expliquant les concepts puis dans la pratique à travers les 3 étapes clés de l’atelier.

Définition de l’Eventstorming

L'Eventstorming est un format d'atelier flexible pour l'exploration collaborative de domaines métiers complexes qui trouve ses racines dans le Domain-Driven Design (DDD). Il permet de visualiser les interactions et les processus au sein d'une équipe de développement de manière très intuitive. En utilisant des post-it et des diagrammes, l'Eventstorming permet de cartographier l'ensemble du système. Cette méthode favorise la compréhension mutuelle des membres de l'équipe et aide à identifier des opportunités d'amélioration.

Pour bien comprendre l'Eventstorming, il est essentiel de connaître quelques concepts de base tels que : 

  • Les domain events : moments significatifs d’un processus, conséquences des commands ;
  • Les commands  les actions ou les décisions qui déclenchent les events ;
  • Les aggregates : ils représentent des parties indépendantes du système et sont essentiels pour délimiter les responsabilités au sein du système. Ils sont impactés par les commands, ce qui génère un domain event.

Ces concepts forment le langage commun de l'Eventstorming et permettent aux équipes de discuter et de modéliser leurs processus de manière efficace.

Les bénéfices de l’Eventstorming

L'une des principales raisons d'adopter l'Eventstorming est son pouvoir de renforcer la communication et la collaboration au sein de l'équipe. En favorisant une compréhension commune, il élimine les silos de connaissance et les malentendus. De plus, l'Eventstorming encourage l'innovation en permettant aux équipes de concevoir des solutions plus créatives et de réagir rapidement aux changements.

Dans quels contextes utiliser l’Eventstorming ? 

Organiser un atelier d’Eventstorming sera utile : 

  • Pour la création d’un nouveau produit ou d’un produit avec de nouvelles propositions de valeur ;
  • Pour reconstituer le savoir perdu (par exemple, lors du départ du PO historique) ;
  • Pour aller chercher de la connaissance, puis acter des décisions lorsque l’on n’a pas d’inputs.

Préparer et animer une session d’Eventstorming

Préparation l’atelier d'Eventstorming

Avant de vous lancer dans l’animation d’un atelier d'Eventstorming, il est essentiel de : 

  • Sélectionner l'équipe et les experts du domaine (développeurs, POs, experts métier, etc.). Idéalement, entre 6 et 8 personnes ;
  • Réserver une grande salle avec de grands murs blancs ;
  • Prévoir le matériel nécessaire en quantité suffisante : post it, stylos, feutres (noir et de couleurs), etc. ;
  • Et surtout pas de chaises ! L’atelier doit être vivant.

Illustration du livre “Introducing EventStorming“ d'Alberto Brandolini 

L’atelier dure en moyenne 2 heures.

Animer un atelier d'Eventstorming

Étape 1 - La big picture

Sur une ligne de temps, les participants vont inscrire tous les domain events qui se produisent, via un verbe au participe passé (par exemple, facture envoyée, paiement effectué; etc.). Un événement par post-it.

L'utilisation de post-it pour modéliser les "events" facilite la participation de tous les membres de l'équipe, favorise la créativité et permet de représenter visuellement les flux d'événements. En complément des Post-it, l'utilisation de diagrammes peut aider à clarifier la logique des processus.

Lorsque tous les events sont posés. Une personne raconte l’histoire modélisée sur la ligne du temps. C’est l’occasion de d’assurer que chacun est aligné avec l'enchaînement d'événements, ou bien de discuter de certains éléments.

Cette phase va susciter de nombreuses discussions : c’est normal !

Illustration du livre “Introducing EventStorming“ d'Alberto Brandolini 

Étape 2 - Le Process Modeling

Cette étape permet d’aller sur une plus petite granularité, en identifiant : 

  • Les read models (post-it vert) qui déterminent ce qu’un utilisateur va pouvoir voir pour prendre une décision ;
  • Les commands (post-it bleu),c'est-à-dire ce qui déclenche un événement, ce qui correspond souvent à une conséquence d’une action utilisateur. Ils seront décrits avec un verbe à l’infinitif (ajouter au panier, payer, s’inscrire, etc.) ;
  • Les acteurs (post-it jaunes) qui déclenchent les commands. Cela peut être le client, le système ; 
  • Les systèmes externes (post-it rose).
Illustration du livre “Introducing EventStorming“ d'Alberto Brandolini 

On reste toujours dans le fonctionnel sans parler de technique.

Étape 3 - Le Software Design

Le Software Design permet de se rapprocher de l'implémentation technique tout en gardant le métier en tête.

Y émergent les notions d'Aggregates et de Bounded Contexts (voir DDD pour plus détails).

C'est ici que concrètement vous arbitrerez le design de votre application en modules ou microservices selon votre contexte.

 

L’atelier fini, n’oubliez pas de prendre en photo chaque pan de la storytime finalisée et de les faire parvenir aux participants.

Quelques entreprises pratiquant l'Eventstorming

De nombreuses entreprises ont adopté avec succès l'Eventstorming dans leur approche Agile. Par exemple, ING, la banque néerlandaise, a utilisé l'Eventstorming pour améliorer la communication entre les équipes techniques et les équipes métier. Ils ont constaté une réduction des malentendus et une meilleure collaboration, ce qui a permis de mettre en œuvre des solutions plus rapidement.

Un autre exemple est Zalando, l'entreprise de commerce électronique. Ils ont utilisé l'Eventstorming pour explorer des processus métier complexes et identifier des opportunités d'optimisation. Cela a abouti à une amélioration significative de leurs systèmes et à des gains d'efficacité.

Ces entreprises réussissent grâce à une adoption rigoureuse de l'Eventstorming, en impliquant les bonnes personnes, en favorisant la transparence et en utilisant les résultats pour prendre des décisions éclairées.

Maintenant que vous connaissez les principes clés et les étapes à suivre, c’est à vous de jouer !

Didier Schonne

Consultant Java (Spring), Web (Angular), j’ai accompagné des projets de différentes manières, que ce soit dans l'architecture, le développement ou l'encadrement technique.