Architectural Decision Records (ADRs)
Architectural Decision Records (ADRs)
O que são ADRs?
Os Architectural Decision Records, ou ADRs, são documentos que registram as decisões arquitetônicas significativas tomadas durante o desenvolvimento de um projeto de software. Eles são uma maneira de documentar o porquê, o quê e o como de escolhas importantes relacionadas à arquitetura de um sistema.
Por que são importantes?
-
Rastreabilidade: ADRs permitem que você rastreie as decisões arquitetônicas ao longo do tempo. Isso é útil para entender a evolução de um sistema e pode ser fundamental para resolver problemas no futuro.
-
Comunicação: Eles servem como um meio de comunicação eficaz entre membros da equipe. Quando as decisões são documentadas, todos têm uma compreensão clara do que foi decidido e por quê.
-
Aprendizado: ADRs também são uma excelente ferramenta de aprendizado. Equipes futuras podem aprender com as decisões anteriores, evitando erros semelhantes ou adotando melhores práticas.
Como criar um ADR
-
Título: Dê um título claro que descreva a decisão.
-
Contexto: Descreva o contexto em que a decisão está sendo tomada. Quais são os problemas ou desafios que estão sendo abordados?
-
Decisão: Explicite a decisão arquitetônica em si. O que foi escolhido e por quê?
-
Consequências: Liste as implicações da decisão. Quais são os prós e contras? Como ela afeta o projeto?
-
Status: Mantenha um registro do status do ADR, indicando se ele está proposto, aceito, rejeitado ou obsoleto.
Exemplo de um ADR
Título: Uso de um banco de dados relacional
Contexto: Estamos desenvolvendo um aplicativo de gerenciamento de tarefas que precisa armazenar dados de usuários, tarefas e históricos de atividades.
Decisão: Optamos por usar um banco de dados relacional (MySQL) devido à necessidade de garantir a integridade dos dados e a capacidade de realizar consultas complexas.
Consequências: Isso nos permitirá criar consultas avançadas para análise de dados e garantir a consistência dos dados. No entanto, pode haver um custo de desempenho em operações de leitura/escrita intensivas.
Status: Aceito
Em resumo, os Architectural Decision Records são uma ferramenta valiosa para documentar e comunicar decisões técnicas. Eles ajudam a manter um histórico claro das escolhas feitas, promovem transparência e contribuem para a aprendizagem contínua.