« Patterns de Core Domain » : différence entre les versions
De Wiki Agile
Aucun résumé des modifications |
Aucun résumé des modifications |
||
| (14 versions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 1 : | Ligne 1 : | ||
[[Category: Portail Product Owner]] | [[Category: Portail Product Owner]] | ||
[[Category: Rôle du Product Manager]] | [[Category: Rôle du Product Manager]] | ||
[[Category: DDD]] | |||
Auteur : Nick Tune<br/> | Auteur : Nick Tune<br/> | ||
Source : [https://medium.com/nick-tune-tech-strategy-blog/core-domain-patterns-941f89446af5 Core Domain Patterns]<br/> | Source : [https://medium.com/nick-tune-tech-strategy-blog/core-domain-patterns-941f89446af5 Core Domain Patterns]<br/> | ||
| Ligne 22 : | Ligne 23 : | ||
Pour tenter de clarifier, de structurer et de quantifier ces concepts afin qu'ils soient plus faciles à comprendre et à appliquer, j'ai utilisé la représentation de base suivante.<br/> | Pour tenter de clarifier, de structurer et de quantifier ces concepts afin qu'ils soient plus faciles à comprendre et à appliquer, j'ai utilisé la représentation de base suivante.<br/> | ||
<br/> | <br/> | ||
[[Fichier:Core Domain Patterns 01.jpg|border|link=]] | [[Fichier:Core Domain Patterns 01.jpg|border|link=|800px]]<br/> | ||
''Distinguer les "core domains" en identifiant la grande complexité et la différenciation des activités de l'entreprise.''<br/> | |||
<br/> | <br/> | ||
Selon cette définition, un "Core Domain" est un domaine qui offre la possibilité d'une forte différenciation commerciale. Cela représente un retour sur investissement incontournable. En outre, la mise en œuvre doit avoir un degré de complexité qui soit raisonnable (complexité du modèle). Si une simple solution de formulaires sur les données ( c'est-à-dire CRUD) suffit, nous ne devrions pas perdre de temps à faire de trop gros efforts de conception et de développement.<br/> | Selon cette définition, un "Core Domain" est un domaine qui offre la possibilité d'une forte différenciation commerciale. Cela représente un retour sur investissement incontournable. En outre, la mise en œuvre doit avoir un degré de complexité qui soit raisonnable (complexité du modèle). Si une simple solution de formulaires sur les données ( c'est-à-dire CRUD) suffit, nous ne devrions pas perdre de temps à faire de trop gros efforts de conception et de développement.<br/> | ||
| Ligne 30 : | Ligne 31 : | ||
<br/> | <br/> | ||
== Core décisif== | == Core décisif== | ||
[[Fichier:Core Domain Patterns 02.jpg|800px|link=]]<br/> | |||
''Core Domains décisifs''<br/> | |||
<br/> | <br/> | ||
Lorsqu'un "core domain" est extrêmement complexe et qu'il offre un potentiel de différenciation commerciale très élevé, il s'agit d'une capacité (''capability'') décisive. Décisive parce que l'organisation qui y parvient est susceptible de devenir le leader du marché. Les niveaux élevés de complexité nécessitent un investissement important pour réussir.<br/> | Lorsqu'un "core domain" est extrêmement complexe et qu'il offre un potentiel de différenciation commerciale très élevé, il s'agit d'une capacité (''capability'') décisive. Décisive parce que l'organisation qui y parvient est susceptible de devenir le leader du marché. Les niveaux élevés de complexité nécessitent un investissement important pour réussir.<br/> | ||
==Core à court-terme== | ==Core à court-terme== | ||
[[Fichier:Core Domain Patterns 03.jpg|800px|link=]]<br/> | |||
''Core Domains à court-terme''<br/> | |||
<br/> | <br/> | ||
Lorsqu'un "core domain" a un fort potentiel de différenciation mais que sa complexité est relativement faible, il peut s'agir d'un "core" à court terme. En raison de sa faible complexité, il ne constitue pas un atout digne d'être défendu et la concurrence le rattrapera dans un laps de temps relativement court.<br/> | Lorsqu'un "core domain" a un fort potentiel de différenciation mais que sa complexité est relativement faible, il peut s'agir d'un "core" à court terme. En raison de sa faible complexité, il ne constitue pas un atout digne d'être défendu et la concurrence le rattrapera dans un laps de temps relativement court.<br/> | ||
<br/> | <br/> | ||
==Core caché== | ==Core caché== | ||
[[Fichier:Core Domain Patterns 04.jpg|800px|link=]]<br/> | |||
''Core Domains cachés''<br/> | |||
<br/> | <br/> | ||
Un antipattern potentiel dont il faut se méfier est le core caché. Si un contexte est peu complexe, par exemple un simple système CRUD de formulaires sur des données, il ne s'agit pas d'un core domain qui nous impose d'innover.<br/> | Un antipattern potentiel dont il faut se méfier est le core caché. Si un contexte est peu complexe, par exemple un simple système CRUD de formulaires sur des données, il ne s'agit pas d'un core domain qui nous impose d'innover.<br/> | ||
| Ligne 46 : | Ligne 51 : | ||
<br/> | <br/> | ||
Dans cette situation, l'entreprise doit se poser la question suivante : "Pouvons-nous exploiter le potentiel de la technologie dans ce cas ? Pouvons-nous reprendre les processus manuels et laisser les machines faire tout le travail de fond que les gens accomplissent aujourd'hui ?<br/> | Dans cette situation, l'entreprise doit se poser la question suivante : "Pouvons-nous exploiter le potentiel de la technologie dans ce cas ? Pouvons-nous reprendre les processus manuels et laisser les machines faire tout le travail de fond que les gens accomplissent aujourd'hui ?<br/> | ||
==Ancien Core qui est devenu un sujet à la portée de tous== | ==Ancien Core qui est devenu un sujet à la portée de tous== | ||
[[Fichier:Core Domain Patterns 05.jpg|800px|link=]]<br/> | |||
''Ancien Core qui est devenu un sujet à la portée de tous''<br/> | |||
<br/> | <br/> | ||
Le cycle de vie naturel de toute innovation est qu'avec le temps, elle devient un sujet incontournable - elle n'est plus une innovation qui fait la différence, mais elle est toujours nécessaire.<br/> | Le cycle de vie naturel de toute innovation est qu'avec le temps, elle devient un sujet incontournable - elle n'est plus une innovation qui fait la différence, mais elle est toujours nécessaire.<br/> | ||
<br/> | <br/> | ||
Vous souvenez-vous de la première vague de magasins et de restaurants qui ont commencé à accepter les paiements sans contact ? Merveilleux, pratique, une raison qui a influencé votre choix de magasin ou de restaurant. Aujourd'hui, nous exigeons le paiement sans contact partout.<br/> | Vous souvenez-vous de la première vague de magasins et de restaurants qui ont commencé à accepter les paiements sans contact ? Merveilleux, pratique, une raison qui a influencé votre choix de magasin ou de restaurant. Aujourd'hui, nous exigeons le paiement sans contact partout.<br/> | ||
==Core banalisé== | ==Core banalisé== | ||
[[Fichier:Core Domain Patterns 06.jpg|800px||link=]]<br/> | |||
''Core Domains banalisés''<br/> | |||
<br/> | |||
A l'image de ‘’l'ancien Core qui devient un sujet à la portée de tous’’, ce qui était autrefois un core domain peut devenir une capacité générique que n'importe quelle entreprise peut facilement utiliser comme un produit SaaS ou un outil open source.<br/> | A l'image de ‘’l'ancien Core qui devient un sujet à la portée de tous’’, ce qui était autrefois un core domain peut devenir une capacité générique que n'importe quelle entreprise peut facilement utiliser comme un produit SaaS ou un outil open source.<br/> | ||
<br/> | <br/> | ||
Un moteur de recherche est un exemple de core banalisé. Si votre produit reposait sur des capacités de recherche avancées pour se différencier de la concurrence, l'arrivée de moteurs de recherche open source et SaaS de pointe tels qu'Elasticsearch aura détruit votre avantage, donnant à tout concurrent potentiel les moyens de vous concurrencer.<br/> | Un moteur de recherche est un exemple de core banalisé. Si votre produit reposait sur des capacités de recherche avancées pour se différencier de la concurrence, l'arrivée de moteurs de recherche open source et SaaS de pointe tels qu'Elasticsearch aura détruit votre avantage, donnant à tout concurrent potentiel les moyens de vous concurrencer.<br/> | ||
==Core cygne noir== | ==Core cygne noir== | ||
[[Fichier:Core Domain Patterns 07.jpg|800px|link=]]<br/> | |||
''Core Domains cygnes noirs''<br/> | |||
<br/> | |||
Il arrive parfois que l'on ne s'y attende pas du tout et qu'un produit apparemment banalisé devienne un "core domain". L'histoire de Slack me revient en mémoire.<br/> | Il arrive parfois que l'on ne s'y attende pas du tout et qu'un produit apparemment banalisé devienne un "core domain". L'histoire de Slack me revient en mémoire.<br/> | ||
<br/> | <br/> | ||
| Ligne 62 : | Ligne 77 : | ||
<br/> | <br/> | ||
L'IRC (‘’ discussion relayée par Internet’’) était déjà une norme de discussion bien établie qui remplissait une fonction. Le potentiel de différenciation semblait faible. Personne n'y a vu d'opportunité, pas même Slack, qui utilisait pourtant le produit.<br/> | L'IRC (‘’ discussion relayée par Internet’’) était déjà une norme de discussion bien établie qui remplissait une fonction. Le potentiel de différenciation semblait faible. Personne n'y a vu d'opportunité, pas même Slack, qui utilisait pourtant le produit.<br/> | ||
== Core sur lequel on parie beaucoup / Core disruptif== | == Core sur lequel on parie beaucoup / Core disruptif== | ||
[[Fichier:Core Domain Patterns 08.jpg|800px|link=]]<br/> | |||
''Core sur lequel on parie''<br/> | |||
<br/> | <br/> | ||
Pour de nombreuses initiatives, le niveau potentiel de différenciation commerciale est inconnu. Tant que le produit n'est pas livré et que les retours du marché n'ont pas été recueillis, personne n'est sûr de rien.<br/> | Pour de nombreuses initiatives, le niveau potentiel de différenciation commerciale est inconnu. Tant que le produit n'est pas livré et que les retours du marché n'ont pas été recueillis, personne n'est sûr de rien.<br/> | ||
<br/> | <br/> | ||
En raison du potentiel élevé de cette capacité, qui pourrait révolutionner un marché, il peut s'agir d'un pari ambitieux, car l'organisation doit y injecter des ressources importantes et en faire un objectif prioritaire, convaincue que le retour sur investissement peut être énorme.<br/> | En raison du potentiel élevé de cette capacité, qui pourrait révolutionner un marché, il peut s'agir d'un pari ambitieux, car l'organisation doit y injecter des ressources importantes et en faire un objectif prioritaire, convaincue que le retour sur investissement peut être énorme.<br/> | ||
==Core suspecté de support== | ==Core suspecté de support== | ||
[[Fichier:Core Domain Patterns 09.jpg|800px|link=]]<br/> | |||
''Core suspecté de support''<br/> | |||
<br/> | |||
Si un contexte délimité est super complexe alors qu'il ne fait que du support, il convient de se poser de sérieuses questions. Comment quelque chose de relativement peu différencié sur le plan commercial peut-il nécessiter des niveaux d'investissement aussi élevés pour gérer la complexité ?<br/> | Si un contexte délimité est super complexe alors qu'il ne fait que du support, il convient de se poser de sérieuses questions. Comment quelque chose de relativement peu différencié sur le plan commercial peut-il nécessiter des niveaux d'investissement aussi élevés pour gérer la complexité ?<br/> | ||
<br/> | <br/> | ||
Une raison tout à fait valable est que cette complexité accidentelle est trop élevée - peut-être qu'une migration est en cours d'un ancien système vers un nouveau. Un plan clair et un calendrier de réduction de la complexité doivent être mis en place afin de garantir que les efforts gaspillés puissent être réaffectés à des capacités ayant un potentiel de différenciation plus élevé.<br/> | Une raison tout à fait valable est que cette complexité accidentelle est trop élevée - peut-être qu'une migration est en cours d'un ancien système vers un nouveau. Un plan clair et un calendrier de réduction de la complexité doivent être mis en place afin de garantir que les efforts gaspillés puissent être réaffectés à des capacités ayant un potentiel de différenciation plus élevé.<br/> | ||
== Passer au niveau supérieur== | == Passer au niveau supérieur== | ||
Je trouve que l'évaluation des contextes délimités pour la différenciation et la complexité de l'entreprise est un point de départ très pratique et accessible. Pour les équipes qui comprennent mal comment leur architecture est liée au modèle d'entreprise, j'ai trouvé cette technique incroyablement utile pour permettre aux développeurs de raisonner davantage en fonction de la perspective de l'entreprise, et en particulier de son évolution dans le temps.<br/> | Je trouve que l'évaluation des contextes délimités pour la différenciation et la complexité de l'entreprise est un point de départ très pratique et accessible. Pour les équipes qui comprennent mal comment leur architecture est liée au modèle d'entreprise, j'ai trouvé cette technique incroyablement utile pour permettre aux développeurs de raisonner davantage en fonction de la perspective de l'entreprise, et en particulier de son évolution dans le temps.<br/> | ||