Un ADR est un document court qui formalise une décision d’architecture logicielle, le contexte dans lequel elle a été prise et les conséquences qui en découlent. Popularisé par Michael Nygard en 2011, il est généralement versionné avec le code source du projet et est consultable directement depuis le dépôt.