ADR : Garder une trace et comprendre les choix techniques

July 2, 2019

J’ai eu l’opportunité de présenter ce sujet lors d’un événement organisé par l’association /dev/var à Toulon. Cet échange avec des professionnels passionnés a permis de mettre en lumière les avantages des Architecture Decision Records et leur utilité dans la gestion des choix techniques.

Passation de projet

Lorsque vous héritez d’un projet, il peut être difficile de comprendre pourquoi certains choix techniques ont été faits. Cette confusion peut ralentir la prise en main et compliquer l’évolution du projet. Les Architecture Decision Records (ADR) offrent une solution simple : documenter les choix architecturaux et les raisons derrière chaque décision.

Dans cet article, découvrez en détail ce que sont les ADR, leur utilité, et comment les intégrer à votre workflow.

Qu’est-ce qu’un ADR?

Un Architecture Decision Record est une courte documentation qui :

Chaque ADR est unique et suit un format simple :

Exemple d’ADR minimaliste :

ADR-001: Choisir PostgreSQL comme base de données
Status: Accepted
Context: Nous avons besoin d’une base relationnelle pour gérer des transactions complexes.
Decision: Utiliser PostgreSQL pour sa robustesse et ses fonctionnalités avancées.
Consequences: Nécessite des compétences PostgreSQL dans l’équipe.

Pourquoi adopter les ADR?

Les ADR permettent de résoudre plusieurs problématiques fréquentes dans les projets :


Les différents types de documentation technique

Avant de plonger dans les ADR, il est utile de comprendre les types de documentation que l’on peut rencontrer, classés selon deux axes :

Voici un aperçu des principales catégories :

Les ADR se situent entre la pratique et la théorie, comblant le fossé entre documentation explicative et historique.


Comment créer et gérer les ADR?

1. Structure d’un ADR

Un ADR suit une structure standard :

2. Cycle de vie

Un ADR peut passer par plusieurs statuts :

Une proposed peut être soit accepted soit refused. Une accepted peut passer en superseded.

On a donc de cette facon l’historique complet ainsi que les décision

3. Où les stocker?


Les outils pour gérer les ADR

Un outil comme adr-tools simplifie grandement la gestion des ADR. Il permet :

Exemple de commande adr-tools

adr new "Choisir React pour le frontend"

Cela génère un fichier prêt à être complété, avec un ID unique et une structure standard.

Conclusion

Adopter les ADR, c’est investir dans une documentation pérenne qui fait le lien entre les choix techniques passés et l’avenir du projet. Les ADR ne se contentent pas de lister des décisions : ils expliquent pourquoi un choix a été fait, même si ce choix semble aujourd’hui discutable. En tenant compte du contexte historique, vous facilitez le travail des équipes présentes et futures.

N’attendez pas que vos projets deviennent un casse-tête de Kapla en équilibre précaire : adoptez les ADR dès aujourd’hui !

Vous pouvez les utiliser en dehors du contexte technique pour justifier des choix opérationnel par exemple.

Voici les slides de la présentation

comments powered by Disqus