Le Domain Driven Design gagne en popularité. De plus en plus d'équipes veulent s'y mettre, mais il est parfois compliqué de savoir par où commencer. Depuis peu la communauté DDD met à disposition un ensemble de ressources Open Source pour rendre le DDD plus accessible. Parmi celles-ci, je vous présenterai le DDD Starter Modeling Process qui constitue un guide parfait pour les personnes souhaitant se lancer dans l'aventure DDD.
12. § Le Business Model
§ Les besoins des utilisateurs et
utilisatrices
§ Les propositions de valeurs
QUOI ?
DDD, comment bien démarrer ? Maxime Sanglan-Charlier / @_ _MaxS__
13. § Chaque décision doit être alignée sur
les objectifs business
§ Partager les visions court, moyen et
long terme
§ Donner du sens aux développements
POURQUOI ?
DDD, comment bien démarrer ? Maxime Sanglan-Charlier / @_ _MaxS__
17. § Le domaine métier
§ Visuellement
§ De manière collaborative
§ Un vocabulaire métier
QUOI ?
DDD, comment bien démarrer ? Maxime Sanglan-Charlier / @_ _MaxS__
18. § Construire un socle commun
§ Rassembler les pièces du puzzle et
combler les trous
§ Aligner toutes les parties prenantes sur
une compréhension partagée
POURQUOI ?
DDD, comment bien démarrer ? Maxime Sanglan-Charlier / @_ _MaxS__
22. § En sous domaines
§ Pour plus d’autonomie
§ Pour réduire la charge cognitive
QUOI ?
DDD, comment bien démarrer ? Maxime Sanglan-Charlier / @_ _MaxS__
23. § Il est plus simple de traiter des sous
parties individuellement qu’un système
en entier
§ Augmenter la cohésion et limiter le
couplage
§ Tracer les contours de l’architecture
POURQUOI ?
DDD, comment bien démarrer ? Maxime Sanglan-Charlier / @_ _MaxS__
26. § Les sous domaines
§ Identifier leurs interactions et
dépendances
QUOI ?
DDD, comment bien démarrer ? Maxime Sanglan-Charlier / @_ _MaxS__
27. § Valider les contours de l’architecture
en la confrontant à des cas d’usage
concrets
§ Mieux identifier les périmètres et
responsabilités
§ Identifier les types de messages et les
données échangées
POURQUOI ?
DDD, comment bien démarrer ? Maxime Sanglan-Charlier / @_ _MaxS__
28. COMMENT ?
Diagramme de Flux de Messages
DDD, comment bien démarrer ? Maxime Sanglan-Charlier / @_ _MaxS__
32. § Identifier le cœur de métier
§ Se focaliser sur ce qui apporte de la
valeur
QUOI ?
DDD, comment bien démarrer ? Maxime Sanglan-Charlier / @_ _MaxS__
33. § Aide à se concentrer sur le cœur de
métier
§ Aide à la prise de décision “Build vs
Buy”
§ Permet de penser à court, moyen et
long terme
POURQUOI ?
DDD, comment bien démarrer ? Maxime Sanglan-Charlier / @_ _MaxS__
34. COMMENT ?
Core Domain Chart
DDD, comment bien démarrer ? Maxime Sanglan-Charlier / @_ _MaxS__
36. § Identifier les périmètres
§ Identifier les interactions entre les
équipes
§ Prendre en compte les contraintes
organisationnelles
QUOI ?
DDD, comment bien démarrer ? Maxime Sanglan-Charlier / @_ _MaxS__
37. § Réduire la charge cognitive des équipes
§ Limiter le Context Switching
§ Identifier les dépendances
§ Limiter les goulots d’étranglement
POURQUOI ?
DDD, comment bien démarrer ? Maxime Sanglan-Charlier / @_ _MaxS__
38. COMMENT ?
Team Topologies Context Map
DDD, comment bien démarrer ? Maxime Sanglan-Charlier / @_ _MaxS__
40. § Identifier les rôles et caractéristiques
§ Être guidé pendant la conception
QUOI ?
DDD, comment bien démarrer ? Maxime Sanglan-Charlier / @_ _MaxS__
41. § Se poser les bonnes questions
§ Nouvelle perspective
§ Documenter l’architecture
POURQUOI ?
DDD, comment bien démarrer ? Maxime Sanglan-Charlier / @_ _MaxS__
42. COMMENT ?
Model Overview Canvas
DDD, comment bien démarrer ? Maxime Sanglan-Charlier / @_ _MaxS__
46. § Utiliser les patterns tactiques à bon
escient
§ Se concentrer sur les Core Domain
COMMENT ?
DDD, comment bien démarrer ? Maxime Sanglan-Charlier / @_ _MaxS__
48. § Le DDD Starter Modelling Process est un guide et
non une méthodologie
§ Le processus est itératif et les étapes optionnelles
§ Tout est réalisable sans mentionner DDD
§ Architecture socio-technique
§ Repose essentiellement sur des outils
collaboratifs, visuels et efficaces !
Récapitulatif
DDD, comment bien démarrer ? Maxime Sanglan-Charlier / @_ _MaxS__
51. • Domain Driven Design Crew – Ressources Open Source
• Virtual DDD
• Domain-Driven Design: Tackling Complexity in the Heart of Software, Eric Evans
• Patterns, Principles, and Practices of Domain-Driven Design, Scott Millet with Nick Tune
• Whirlpool Process of Model Exploration, Eric Evans
• Model Exploration Whirlpool – Domain-Driven Design: The First 15 Years, Kenny Baas-
Schwegler
• Sociotechnical Architecture: co-designing technical & organizational architecture to
maximize impact, Eduardo da Silva
• Eventstorming.com
• Introducing EventStorming, Alberto Brandolini
• Présentation du Bounded Context Canvas (en français)
• Visual Collaboration Tools for teams building software
DDD, comment bien démarrer ? Maxime Sanglan-Charlier / @_ _MaxS__