DR - Process Overview

  • Documents a decision that addresses a requirement (functional/non functional) that has significant impact on the application's architecture
  • The solution to a problem/requirement can start as an RFC to facilitate discussion and collaboration among the community members. The outcome of the RFC must be recorded as an ADR
  • DR can also be used to document patterns/standards that forms naturally. Such patterns can be identified when doing code reviews
  • Applicable Status
    • DRAFT
    • ACCEPTED
    • REJECTED
    • SUPERSEDED by ADR-xxx
    • OBSOLETE
  • Add label to confluence pages that has an ADR. Available tags
    • decision-record - (MANDATORY)
    • Database
    • Cloud
    • Languages
    • Java
    • JS
    • Spring
    • NodeJS
    • Security
    • Performance
    • API
    • Streaming
    • CI/CD


Step By Step Instructions


Resources

https://github.com/npryce/adr-tools

Questions

  • Is there any value in maintaining a decision log at the repo level ? Won't be an ADR.