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.