Usando registros de decisão arquitetônicos para agilizar a tomada de decisões técnicas para um projeto de desenvolvimento de software - AWS Orientação prescritiva

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Usando registros de decisão arquitetônicos para agilizar a tomada de decisões técnicas para um projeto de desenvolvimento de software

Darius Kunce e Dominik Goby, da Amazon Web Services (AWS)

Março de 2022 (histórico do documento)

Este guia apresenta o processo de registros de decisão arquitetônica (ADR) para projetos de engenharia de software. Os ADRs apoiam o alinhamento da equipe, documentam as direções estratégicas de um projeto ou produto e reduzem os esforços de tomada de decisão recorrentes e demorados.

Durante o desenvolvimento de projetos e produtos, as equipes de engenharia de software precisam tomar decisões arquitetônicas para alcançar seus objetivos. Essas decisões podem ser técnicas, como decidir usar o padrão de segregação de responsabilidade por consulta de comando (CQRS), ou relacionadas a processos, como decidir usar o fluxo de trabalho do GitFlow para gerenciar o código-fonte. Tomar essas decisões é um processo demorado e difícil. As equipes devem justificar, documentar e comunicar essas decisões às partes interessadas relevantes.

Três antipadrões principais geralmente surgem ao tomar decisões arquitetônicas:

  • Nenhuma decisão é tomada por medo de fazer a escolha errada.

  • Uma decisão é tomada sem qualquer justificativa e as pessoas não entendem por que ela foi tomada. Isso faz com que o mesmo tópico seja discutido várias vezes.

  • A decisão não é capturada em um repositório de decisões arquitetônicas, então os membros da equipe esquecem ou não sabem que a decisão foi tomada.

Esses antipadrões são particularmente importantes para serem resolvidos durante o processo de desenvolvimento de um produto ou projeto.

Capturar a decisão, o contexto e as considerações que levaram à decisão na forma de um ADR permite que as partes interessadas atuais e futuras coletem informações sobre as decisões tomadas e o processo de pensamento por trás de cada decisão. Isso reduz o tempo de desenvolvimento de software e fornece uma melhor documentação para futuras equipes.

Resultados de negócios direcionados

Os ADRs visam três resultados comerciais:

  • Eles alinham os membros atuais e futuros da equipe.

  • Eles definem uma direção estratégica para o projeto ou produto.

  • Eles evitam antipadrões de decisão definindo um processo para documentar e comunicar adequadamente as decisões arquitetônicas.

Os ADRs capturam o contexto da decisão para informar as futuras partes interessadas. Uma coleção de ADRs fornece uma experiência de entrega e documentação de referência. Os membros da equipe ou do projeto usam a coleção ADR para projetos de acompanhamento e planejamento de características do produto. Ser capaz de referenciar ADRs reduz o tempo necessário durante o desenvolvimento, as revisões e as decisões de arquitetura. Os ADRs também permitem que outras equipes aprendam e obtenham insights sobre as considerações feitas por outras equipes de desenvolvimento de projetos e produtos.