Article
Core Domain Charts (DDD) : Une simplification des cartes de Wardley sans leur profondeur conceptuelle

Mathieu Jolly
Auteur
La Core Domain Chart (CDC) est un outil de la méthodologie de conception de logiciel Domain-driven Design (DDD). L'objectif de cette approche est de rapprocher la conception logicielle du langage business dans le but de développer des outils les plus proches possible de la logique métier.
Certains ou certaines d'entre vous ont pu entendre que la « Core Domain Chart » pouvait aisément se substituer aux cartes de Wardley. Plus simple d'appréhension, cet outil « largement inspiré des Wardley Maps » promet de se concentrer sur ce qui est pertinent pour les problématiques du secteur du développement logiciel.
Cependant, ce travail ne vient jamais sans compromis ou approximation. Ainsi dans cet article, nous les identifions pour comprendre la pertinence de la méthode et son domaine de validité. Cet article tente de lire la CDC depuis les concepts du framework des Wardley Maps afin d'en dessiner le périmètre de validité. Dans un premier temps, les deux outils sont présentés puis la comparaison est faite sur plusieurs niveaux de lecture.
Core domain Chart
La Core Domain Chart (CDC), outil du Domain-driven Design, aide l'entreprise à catégoriser ses domaines métiers selon qu'ils sont génériques, supports ou cœur de métier. Cette catégorisation aide ensuite le déroulement de l'approche DDD.
L'espace dessiné par le plan différentiation/complexité est divisé en trois sous-domaines. Le domaine générique, où la différentiation business est faible mais la complexité peut être de faible à importante. Le domaine Cœur, où la différentiation business est haute, tout comme la complexité. Entre ces deux domaines se trouve le domaine Support.
L'espace contient les composants d'une chaîne de valeur. Ces composants sont positionnés dans l'espace selon leur complexité et leur capacité de différentiation. L'échelle de la complexité des CDC comprend l'ensemble des espaces de Cynefin. Une des graduations que peut prendre l'axe de la complexité est : simple, compliqué, complexe et chaotique. L'axe de la valeur différentielle est à l'appréciation des managers.
Le travail et l'évolution des composants au cours du temps sont illustrés par des flèches et un code couleur. Cette approche permet d'illustrer l'objectif à atteindre selon les personnes qui dessinent la carte.
Dans cette carte domaine se retrouve aussi la topologie des équipes de la théorie Team Topologies.
Wardley Maps
Les cartes de Wardley (Wardley Maps) ont été développées par Simon Wardley en 2008 pour aider les acteurs économiques qui jouent dans ou avec des milieux compétitifs à faire sens des situations sociotechniques. Ces cartes représentent les composants du système de production de valeur sur deux axes principaux : sa visibilité pour le bénéficiaire final (axe vertical) et sa position dans le schéma d'évolution théorique des innovations en milieux compétitifs (axe horizontal).
L'axe vertical (visibilité) s'étend des besoins des utilisateurs (en haut) jusqu'aux composants invisibles, mais nécessaires (en bas). L'axe horizontal représente le schéma d'évolution des composants, de la Genèse (gauche) à la commodité (droite). Selon Simon Wardley, la compétition de l'offre ou la compétition de la demande poussent les composants du système à se banaliser le long de l'évolution. Ainsi, la carte de Wardley tente de représenter la réalité du marché plus que l'opinion des personnes sur ce marché.
Les cartes de Wardley permettent de visualiser non seulement l'état actuel d'un système, mais aussi, et parce que le schéma d'évolution est déterministe, son avenir probable. Chaque composant suit une trajectoire naturelle de la gauche vers la droite, passant de la nouveauté à l'industrialisation, ce qui permet d'anticiper les changements stratégiques nécessaires. La temporalité des déplacements n'est pas connue, mais les changements peuvent être observés en fonction des actions du marché.
Plusieurs niveaux de lecture de la carte de Wardley entraînant des dizaines de cas d'usages sont possibles (1, 2, 3). Dans le contexte de la comparaison avec les Core Domain Charts, les fonctions du framework qui nous intéressent sont :
- le découpage du périmètre de chaque équipe
- l'évaluation de la typologie de travailleur·euse qui va s'épanouir dans le contexte
- L'anticipation de la valeur potentielle d'une nouveauté, d'une innovation ou d'un investissement.
Analyse comparative
L’analyse est en deux parties. Elle se concentre d’abord sur les objectifs des méthodes, puis, sur la manière de mesurer le positionnement des composants dans chaque carte.
Des objectifs similaires
Comme pour les cartes de Wardley, l'objectif sous-jacent est la discussion que permet la carte. Toutes les parties prenantes qui connaissent le terrain sont invitées à la discussion. Il n'y a pas de profil préidentifié. Pour les CDC, les parties prenantes de cette discussion sont explicitement identifiées. Il s'agit des ingénieurs qui mesurent la complexité et les managers qui mesurent le potentiel différenciant dans le « business ». Sur le dépôt Github de la CDC, il est possible de lire :
« Le véritable pouvoir de cette technique réside dans les conversations qu'elle déclenche, en particulier entre les disciplines. La complexité est quelque chose que les ingénieurs peuvent mesurer, alors que la différenciation commerciale est fournie par les gestionnaires de produits ou les parties prenantes. »
Le champ d'usages de la CDC est donc réduit à ce que les ingénieurs logiciels et les managers ont en commun, c'est-à-dire ce qui est la source de valeur ajoutée directe : le produit. Les services supports sont exclus du périmètre d'utilité des CDC.
Simplification de l’heuristique cartographique
Dans les deux méthodes, la chaîne de valeur est exigée. Selon Malcolm Bastien, la CDC se remplit après avoir dessiné la chaîne de valeur à la manière de Wardley. Cette étape permet de lister les composants qui prendront place dans la CDC. La CDC distingue trois espaces. L'espace cœur de métier (Core domain), l'espace Support (Supporting domain) et l'espace générique (Generic domain). La CDC 2D est une projection de la chaîne de valeur dans les différents espaces de la CDC. Dans une CDC, la notion de profondeur dans la chaîne de valeur, peut-être pas nécessaire dans le cadre du développement logiciel, est perdue.
Les cartes de Wardley sont quant à elle une projection la chaîne de valeur dans le plan de l’évolution. La notion de profondeur est conservée dans une carte de Wardley. À noter que la partie basse de sa chaîne de valeur va avoir tendance à se tasser en bas à droite de la carte de Warldey.
En conclusion, les deux méthodes partagent la cartographie des utilisateurs, mais divergent après cette étape. Dans les deux cas, une fois les composants identifiés, vous devez les positionner dans l’espace. Les fondements des deux approches divergent sur ce point aussi.
Règles de positionnement des composants divergentes
Au cœur des deux méthodes, l’évaluation de la position des composants dans l’espace est une activité clé. Elle se fait selon une échelle différente. Dans la CDC le positionnement se fait via une échelle de la complexité et du potentiel de différentiation business, tandis que pour les cartes des Wardley le positionnement se fait selon la profondeur dans la chaîne de valeur et l’évolution dans le marché.
Dans le cas des CDC, l’évaluation est une perception par les équipes du niveau de complexité et de différentiation. Si l’équipe ne représente pas l’avis moyen, il est probable que l’évaluation soit pessimiste ou optimiste. Cela introduit un biais que les cartes de Wardley tentent de résoudre. En effet, l’évolution d’une activité est un fait réel et non pas une perception. Simon Wardley explique cela quand il s’interroge sur la valeur de courbe de la hype de Gartner. La CDC et la courbe de la hype de Gartner sont une agrégation d’opinion.
“Il s'agit d'une opinion sur l'endroit où se trouve quelque chose, et non d'une mesure de l'endroit où il se trouve réellement.”
Cette agrégation d’opinion peut être utile pour identifier le décalage de ce que perçoit le collectif par rapport à un point de référence garantie par des connaissances externes. Néanmoins, cette mécanique introduit des biais qui vont avoir tendance à alimenter la profession de fois autoréalisatrice du collectif. Sur le bon chemin stratégique, les conséquences seront bonnes, tandis que sur le mauvais chemin les conséquences seront juste d’amplifier le désastre.
À titre de comparaison, il est possible de positionner les composants dans l’évolution d’une carte de Wardley selon ce que fait l’entreprise. Seulement, c’est inutile, car l’entreprise le fait déjà. Ce qui est utile, c'est de comparer la même chaîne de valeur, mais positionnée selon l’évolution réelle des composants dans le marché. Le décalage entre le traitement des activités par l’entreprise et leur évolution réelle, crée cette notion de mouvement, propre aux cartes de Wardley.
Ainsi, dans l’évaluation de différentiation business et de la complexité, les CDC se différencient de la cartographie de Wardley parce qu’elles ne cherchent pas à mesurer la réalité, mais l’interprétation de la réalité par l’entreprise. À ce titre, la notion de mouvement de marché disparait. La notion de mouvement reste présente par la projection des ambitions internes.
Des axes de nature différentes
Il vient rapidement à l'esprit que les deux axes de la Core Domain Chart pourraient être deux manières différentes de nommer les deux variables de l'évolution que sont la certitude et l'ubiquité. Au regard du parallèle fait entre les descriptions des caractéristiques des phases, aucune correspondance ne lie l'enchaînement logique de l'espace des Core Domain Chart avec celui de l'évolution. L'exploration exposée dans la figure suivante ne mène nulle part, car le sens des axes est inversé.
La corrélation la plus proche qu'il me semble possible de faire dans le plan de la certitude et de l'ubiquité est exposée par la figure suivante. L'espace générique, en gris, est celui du bien défini, quelle que soit l'omniprésence de l'activité. L'espace support, en rose, est celui du bien défini pour une présence nouvelle et de l'inconnu au bien défini pour les activités très présentes à ubiquitaires. L'espace cœur, en vert, celui où il faut se focaliser, est celui de la nouveauté et de l'inconnu. L'exemple du GitHub semble montrer que l'espace de l'expérimentation propre à la phase 1 n'appartient pas à l'espace de CDC. De plus, les CDC ne cartographiant que l'espace de valeur différentielle sont limités aux phases 1, 2 et 3 de l'évolution.
La puissance des recherches de Simon réside dans l'émergence d'un schéma déterminé d'évolution des activités quand elles sont dans un milieu compétitif. Cette tendance est synthétisée par la ligne de l'évolution. Ainsi, l'espace utile et exploité dans ce plan est celui tracé par la ligne de l'évolution. En dehors de cette ligne, les composants peuvent appartenir à un autre domaine que celui de la compétition sans pourtant pouvoir être rattachés à un comportement. C'est pourtant ce qu'essaie de faire la méthode CDC, or ce n'est pas le périmètre de l'évolution de Wardley.Si cette analyse est bonne, alors les Core Domain Chart sont une approximation de la réalité qui s'étend au-delà du fuseau compétitif. Les CDC prennent aussi en compte des espaces où le schéma d'évolution n'est pas valide.
Core Domain Charts : Une simplification des cartes de Wardley sans leur profondeur conceptuelle
D'inspiration assumée mais intraçable des cartes de Wardley, les Core Domain Charts promettent de simplifier et de mettre sur la même voie que ce que délivrerait une étude faite avec les cartes de Wardley dans le secteur du développement logiciel.
Bien que les deux méthodes partagent certains points communs, comme l'heuristique de la cartographie, l'importance de la discussion collective, elles se distinguent par la portée de leur conclusion.
Les CDC se concentrent sur une perception interne de la complexité et du potentiel de différenciation, limitée au périmètre du produit et aux interactions entre ingénieurs et managers. Cette approche, basée sur l'agrégation d'opinions, peut être utile pour aligner les perceptions internes mais présente le risque de renforcer les opinions.
Les cartes de Wardley, en revanche, s'attachent à mesurer l'évolution réelle des composants dans le marché, offrant ainsi une perspective plus objective et dynamique. Elles permettent d'identifier les écarts entre le traitement interne des activités et leur évolution effective dans le marché.
En définitive, les CDC peuvent être considérées comme un outil opérationnel et logique dans le cadre d'une activité de développement logiciel, mais la qualité des conclusions sera totalement dépendante de la culture et de l'ouverture des participants. La CDC outille l'accompagnement et la diffusion d'une certaine idée de ce qui doit être fait, alors que les cartes de Wardley outillent l'émergence d'une certaine idée de ce qui doit être fait.
Ressources
- DDD crew, Core Domain Chart git hub : https://github.com/ddd-crew/core-domain-charts
- Creating Focus Through User Needs Mapping and Core Domain Mapping — Malcolm Bastien — https://malcolmbastien.com/2023/12/23/creating-focus-through-user-needs-mapping-and-core-domain-mapping/