Les relations à rendre visibles

Pour chaque dépendance importante, préciser le responsable, l’usage, le mode de défaillance et l’alternative disponible. Vérifier les dépendances communes : deux solutions peuvent sembler indépendantes tout en partageant une identité, une plateforme, une compétence ou un contrat.

Ne pas promettre une cohérence immédiate lorsque l’architecture est asynchrone. Expliquer les délais et états visibles pour l’utilisateur.

Identifier les invariants métier, les frontières transactionnelles et les conséquences d’un échec à chaque étape.

Une compensation mal conçue peut être impossible ou produire une conséquence différente de l’annulation initiale.

Application à votre contexte

Pour chaque relation importante, précisez l'usage, le responsable et ce qui se passe en cas d'indisponibilité. Cherchez aussi les ressources communes qui rendent plusieurs alternatives moins indépendantes qu'elles ne le paraissent.

Traitez le fonctionnement normal et les échecs comme deux parties du même produit. Décrivez les contrats d'interface, les erreurs, les reprises, les droits et l'observabilité. L'exploitabilité doit être prévue dès la conception, pas ajoutée après le premier incident.

Remettre cette réponse dans son contexteTransactions et cohérence des données

Références pour approfondir