Uso de los registros de decisiones de arquitectura a fin de optimizar la toma de decisiones técnicas para un proyecto de desarrollo de software - AWS Guía prescriptiva

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso de los registros de decisiones de arquitectura a fin de optimizar la toma de decisiones técnicas para un proyecto de desarrollo de software

Darius Kunce y Dominik Goby de Amazon Web Services (AWS)

marzo de 2022 (historial de documentos)

En esta guía, se presenta el proceso de registros de decisiones de arquitectura (ADR) para proyectos de ingeniería de software. Los ADR respaldan la alineación de los equipos, documentan las direcciones estratégicas de un proyecto o producto, y reducen los esfuerzos de toma de decisiones recurrentes y que requieren mucho tiempo.

Durante el desarrollo de proyectos y productos, los equipos de ingeniería de software deben tomar decisiones de arquitectura para alcanzar sus objetivos. Estas decisiones pueden ser técnicas, como decidir utilizar el patrón de división de responsabilidades de comandos y consultas (CQRS), o relacionadas con el proceso, como decidir utilizar el flujo de trabajo de GitFlow para administrar el código fuente. Tomar estas decisiones es un proceso difícil y que requiere mucho tiempo. Los equipos deben justificar, documentar y comunicar estas decisiones a las partes interesadas pertinentes.

A la hora de tomar decisiones de arquitectura, suelen surgir tres antipatrones principales:

  • No se toman decisiones por miedo a tomar una decisión equivocada.

  • Se toma una decisión sin ninguna justificación y las personas no entienden por qué se tomó. Esto hace que se discuta el mismo tema varias veces.

  • La decisión no se registra en un repositorio de decisiones de arquitectura, por lo que los miembros del equipo olvidan o no saben que se tomó la decisión.

Es especialmente importante abordar estos antipatrones durante el proceso de desarrollo de un producto o proyecto.

Registrar la decisión, el contexto y las consideraciones que derivaron en la decisión en forma de ADR permite a las partes interesadas actuales y futuras recopilar información sobre las decisiones que se tomaron y el proceso de pensamiento detrás de cada decisión. Esto reduce el tiempo de desarrollo de software y brinda una mejor documentación para los futuros equipos.

Resultados empresariales específicos

Los ADR apuntan a tres resultados empresariales:

  • Alinean a los miembros actuales y futuros del equipo.

  • Establecen una dirección estratégica para el proyecto o producto.

  • Evitan los antipatrones de decisiones al definir un proceso para documentar y comunicar de forma adecuada las decisiones de arquitectura.

Los ADR registran el contexto de la decisión para informar a las futuras partes interesadas. Un conjunto de ADR ofrece una experiencia de entrega y documentación de referencia. Los miembros del equipo o del proyecto utilizan el conjunto de ADR para el seguimiento de los proyectos y la planificación de las características del producto. La posibilidad de hacer referencia a los ADR reduce el tiempo necesario durante el desarrollo, las revisiones y las decisiones de arquitectura. Los ADR también permiten a otros equipos aprender de las consideraciones adoptadas por otros equipos de desarrollo de productos y proyectos, y obtener información al respecto.