Gleam.br Wiki

ADRs (Architecture Decision Records) | Governança

Documentação de engenharia e especificações técnicas da Gleam-BR.

ADRs (Architecture Decision Records)

São documentos curtos que registram decisões técnicas significativas e o contexto que as motivou.

Eles funcionam como uma "cápsula do tempo", documentando não apenas o que foi escolhido, mas o porquê.

Por que os ADRs são importantes?

A arquitetura de um software evolui conforme as decisões são tomadas, e o ato de documentá-las protege o projeto contra o esquecimento.

  • Compreensão histórica: Permite que novos membros da equipe entendam o histórico do sistema sem depender da memória de funcionários mais antigos.
  • Foco no "Porquê": Evita que decisões passadas sejam questionadas sem o devido contexto técnico ou que sejam alteradas de forma inadequada.
  • Alinhamento de equipe: Facilita a comunicação, pois o processo de escrita força a equipe a discutir os prós e contras das alternativas antes da implementação.

Estrutura básica de um ADR

Um ADR deve ser conciso e objetivo. Ele geralmente é versionado em formato Markdown no mesmo repositório do código e segue uma estrutura padrão:

  • Título: Identificador único e um nome descritivo (ex: 001 - Uso do PostgreSQL para o banco de dados principal).
  • Contexto: A situação atual, as restrições e o problema que exigiu uma decisão.
  • Decisão: A solução escolhida para o problema.
  • Opções consideradas: Outras alternativas mapeadas e os motivos pelos quais foram descartadas.
  • Consequências: Os benefícios (prós) e os pontos negativos/desafios (contras) e impactos da escolha.
  • Status: O estado atual (como Proposto, Aceito, Rejeitado ou Substituído).

Como os ADRs registram o ciclo de vida da arquiteturaA arquitetura de software é viva. Ao documentar cada escolha, o conjunto de ADRs ao longo do tempo forma um "log" detalhado do ciclo de vida arquitetural:

  • Evolução do projeto: Cada ADR captura um marco ou mudança estrutural significativa no software.
  • Substituição de decisões: Se uma tecnologia ou padrão se tornar obsoleto, um novo ADR é criado com o status de Substituído, referenciando a decisão original e o novo caminho adotado.
  • Rastreabilidade: Permite compreender facilmente em qual momento do ciclo de vida do software uma determinada limitação ou tecnologia foi introduzida.Para saber mais sobre como implementar na prática e conferir os modelos recomendados, você pode consultar o guia prescritivo de arquitetura da AWS Architectural Decision Records ou a documentação do Microsoft Azure Well-Architected Framework.