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.