Skip to content

Latest commit

 

History

History
109 lines (76 loc) · 3.85 KB

File metadata and controls

109 lines (76 loc) · 3.85 KB
status accepted
date
YYYY-MM-DD
decision-makers
optionally fill decision makers names accounts or remove that field

{Short title describing problem and chosen solution}

ID: cpt-{system}-adr-{slug}

Table of Contents

Context and Problem Statement

{Describe the context and problem statement in 2-3 sentences. You may articulate the problem as a question.}

Decision Drivers

  • {Decision driver 1, e.g., a force, facing concern, …}
  • {Decision driver 2, e.g., a force, facing concern, …}

Considered Options

  • {Title of option 1}
  • {Title of option 2}
  • {Title of option 3}

Decision Outcome

Chosen option: "{title of option 1}", because {justification, e.g., only option which meets k.o. criterion decision driver | resolves force | comes out best}.

Consequences

{Describe the concrete consequences of this decision for the later design and implementation. Do NOT repeat Good/Bad pros and cons here — those belong in the "Pros and Cons of the Options" section below. Instead, state what this decision requires, enables, or constrains in practice.}

  • {Consequence 1, e.g., "Choosing X means we must define Y and register it in Z"}
  • {Consequence 2, e.g., "This decision requires the library to provide A, and modules must adapt by doing B"}
  • {Consequence 3, e.g., "Future extensibility will need to be handled via C"}

Confirmation

{Describe how the implementation/compliance of the ADR can be confirmed. E.g., design/code review, ArchUnit test, etc.}

Pros and Cons of the Options

{Title of option 1}

{Description or pointer to more information}

  • Good, because {argument a}
  • Good, because {argument b}
  • Neutral, because {argument c}
  • Bad, because {argument d}

{Title of option 2}

{Description or pointer to more information}

  • Good, because {argument a}
  • Bad, because {argument b}

More Information

{Additional evidence, team agreement, links to related decisions and resources.}

Traceability

This decision directly addresses the following requirements or design elements:

  • cpt-{system}-fr-{slug} — {Brief description of how this decision satisfies/constrains this requirement}
  • cpt-{system}-nfr-{slug} — {Brief description of how this decision satisfies/constrains this requirement}
  • cpt-{system}-usecase-{slug} — {Brief description of the interaction/use case impacted}
  • cpt-{system}-design-{slug} — {Brief description of design element affected}