Utilisation d'enregistrements de décisions architecturales pour rationaliser la prise de décisions techniques dans le cadre d'un projet de développement logiciel - AWS Conseils prescriptifs

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation d'enregistrements de décisions architecturales pour rationaliser la prise de décisions techniques dans le cadre d'un projet de développement logiciel

Darius Kunce et Dominik Goby, Amazon Web Services (AWS)

Mars 2022 (historique du document)

Ce guide présente le processus d'enregistrements des décisions architecturales (ADR) pour les projets de conception logicielle. Les ADR favorisent l'alignement des équipes, documentent les orientations stratégiques d'un projet ou d'un produit et réduisent les efforts de prise de décision récurrents et fastidieux.

Au cours du développement de projets et de produits, les équipes d'ingénierie logicielle doivent prendre des décisions architecturales pour atteindre leurs objectifs. Ces décisions peuvent être techniques, comme utiliser le modèle de séparation des responsabilités des requêtes de commande (CQRS), ou liées au processus, comme utiliser le flux de travail GitFlow pour gérer le code source. La prise de ces décisions est un processus complexe et fastidieux. Les équipes doivent justifier, documenter et communiquer ces décisions aux parties prenantes concernées.

Trois principaux anti-modèles apparaissent souvent lors de la prise de décisions architecturales :

  • Aucune décision n'est prise, par peur de faire le mauvais choix.

  • Une décision est prise sans aucune justification, et l'on ne comprend pas pourquoi elle a été prise. Il en résulte que le même sujet est discuté plusieurs fois.

  • La décision n'étant pas capturée dans un référentiel de décisions architecturales, les membres de l'équipe l'oublient ou ne savent pas qu'elle a été prise.

Il est particulièrement important d'aborder ces anti-modèles lors du processus de développement d'un produit ou d'un projet.

La capture de la décision, du contexte et des considérations qui ont conduit à la décision sous la forme d'un ADR permet aux parties prenantes actuelles et futures de collecter des informations sur les décisions prises et le processus de réflexion sous-jacent à chaque décision. Cela réduit le temps de développement de logiciels et fournit une meilleure documentation aux futures équipes.

Résultats commerciaux ciblés

Les ADR visent trois résultats métier :

  • Ils alignent les membres actuels et futurs de l'équipe.

  • Ils définissent une orientation stratégique pour le projet ou le produit.

  • Ils évitent les anti-modèles décisionnels en définissant un processus permettant de documenter et de communiquer correctement les décisions architecturales.

Les ADR capturent le contexte de la décision afin d'informer les futures parties prenantes. Une collection d'ADR fournit une expérience de transmission et une documentation de référence. Les membres de l'équipe ou du projet utilisent la collection d'ADR pour les projets de suivi et la planification des fonctionnalités du produit. La possibilité de référencer les ADR réduit le temps nécessaire au développement, aux révisions et aux décisions architecturales. Les ADR permettent également aux autres équipes de tirer des leçons et de mieux comprendre les considérations prises par d'autres équipes de développement de projets et de produits.