Accueil Nos publications Blog [DDDEU 2017] Retour sur le workshop Essential DDD de Paul Rayner

[DDDEU 2017] Retour sur le workshop Essential DDD de Paul Rayner

En amont de la conférence DDDEU 2017, SOAT en compagnie d’une cinquantaine de personnes, a eu l’opportunité de suivre l’atelier “Essential DDD” de Paul Rayner
Et oui SOAT y était !! Nous allons vous partager nos impressions sur cet atelier.

Le contenu :

Cet atelier s’est déroulé sur deux jours, où une excellente ambiance a régné tout du long.
Pour servir de fil rouge, Paul se base sur un cas métier concret, qu’il a rencontré en tant que consultant. La progression de l’atelier permet d’aborder toutes les grandes notions de DDD plus ou moins en détails, majoritairement sous forme de Serious Games. Quelques présentations plus magistrales permettaient d’assoir les acquis récents. Ces acquis étaient ensuite validés par QCM. Afin de renforcer encore plus l’intégration des notions, Paul a utilisé un systême de revues croisés des résultats d’atelier, comme pour celui de l’Event Storming, ainsi que des rétrospectives en fin de journée.

Parmi les notions abordées :

les différents niveaux dans le DDD

  • Collaborative Modeling :
    Ce sont les techniques collaboratives, comme l’Event Storming et le Modelling Exploration Whirlpool pour extraire, explorer et cultiver les connaissances métiers entre les équipes techniques et les équipes métiers, afin d’être en mesure de produire le modèle métier le plus utile possible.

  • Tactical Design :
    L’ensemble des building blocks du DDD tel que les patterns Value Object, Entity, Repository, etc.

  • Strategic Design :
    Les patterns de Context Mapping répondant à l’intégration de différents Bounded Context.

L’Event Storming
Atelier de modélisation d’un processus métier sur un use case à travers l’Event Storming. Il s’agit d’une technique d’extraction et d’exploration de connaissances en DDD parmi les ‘Knowledge Crunching Technique’ proposées en DDD

Les agrégats et les guidelines de conception
Paul a démontré l’aspect exploratoire et itératif de la conception, en modélisant des Aggregates dynamiquement sur une tablette, et en faisant évoluer cette modélisation au fur et à mesure :
AggregatesDesign

les moments “Haaa!!!”

  • L’importance d’avoir un Domain Model utile pour la résolution d’un problème donné, mais qui ne modélise pas toute la réalité

Sur la modelisation

  • Modéliser ses aggrégats en pensant instances plutôt que classes

  • Le focus sur le contexte : Context is King

Bilan

L’événement était très bien organisé et globalement accessible à tout public ; on a vraiment pu apprécier les très grandes qualités d’orateur de Paul, ses très grandes capacités pédagogiques en favorisant en particulier les ateliers collaboratifs et les échanges.
Et à chaque notion fondamentale, il y avait des questions récapitulatives pour résumer tout cela.

Côté public, c’était varié mais la majorité des personnes étaient complètement néophytes sur DDD. Il a été extrêmement surprenant qu’après le grand feedback collectif, tout le monde ait apprécié et ait compris les grands concepts du DDD.
De même pour nous qui connaissions plutôt bien le DDD, nous avons appris de nouvelles choses et de nouvelles approches pour aborder le DDD afin de le transmettre du non initié souhaitant connaître les apports, aux personnes les plus réticentes.

C’était donc un magnifique workshop DDD. Si vous avez la chance de pouvoir y assister, je ne pourrais que vous encourager à le suivre!