Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
  • Documents a decision that addresses a requirement (functional or /non functional requirement ) that is architecturally significant An Architecturally Significant Requirement is a requirement has significant impact on the application's architecture
  • An architecturally significant requirement is something that has a measurable effect on a software system’s architecture and quality.Solution to a problem the application architecture's llities such as
  • Usability
  • Reliability
  • Availability
  • Portability
  • Testability
  • Scalability
  • Flexibility
  • Reusability
  • Maintainability
  • Supportability
  • Interoperability
  • Performance
  • Security
  • The solution to a problem/requirement can start as an RFC to facilitate discussion and collaboration within among the community members. The outcome of the RFC must be recorded as an ADR
  • ADR can also be used to document patterns/standards that forms naturally. Patterns Such patterns can be identified when doing code reviews
  • Status
    • DRAFT
    • ACCEPTED
    • SUPERSEDED by ADR-xxx
    • OBSOLETE
  • Add label to confluence pages that has an ADR




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. 
  • Can we categorize ADRs? DB, Frontend, Spring, Java, Python, CI/CD, Security, Performance, API, JavaScript