OIDL-0000 - Use ?? to capture decisions

OIDL-0000 - Use ?? to capture decisions


Use the ?? (MADR) technique to capture decisions

 

status: {proposed | rejected | accepted | deprecated | … | superseded by ADR-0005}

date: {YYYY-MM-DD when the decision was last updated}

deciders: {list everyone involved in the decision}

consulted: {list everyone whose opinions are sought (typically subject-matter experts); and with whom there is a two-way communication}

informed: {list everyone who is kept up-to-date on progress; and with whom there is a one-way communication}


Use the GitHub ADR and MADR for architecture decisions

Context and Problem Statement

The Architecture Working Group must capture decisions.

We need a simple and agreeable way to capture and track these decisions.

Don't want too many decisions, just the consequential ones.

Decision to make:

  • what template

  • where to keep them - github or wiki

    • maybe in the future we'll have a documentation repo to keep them in

  • governance

    • status checking

    • approvals

Decision Drivers

  • simple

  • mature

  • agreed upon

  • works for opensource

Considered Options

  • github adr / madr

  • ad hoc

  • {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 | which resolves force {force} | … | comes out best (see below)}.

Consequences

  • Good, because {positive consequence, e.g., improvement of one or more desired qualities, …}

  • Bad, because {negative consequence, e.g., compromising one or more desired qualities, …}

Validation

{describe how the implementation of/compliance with the ADR is validated. E.g., by a review or an ArchUnit test}

Pros and Cons of the Options

GitHub ADR / MADR

simple and mature way to capture architecture decisions

  • Good, because it is widely used

  • Good, because works in code and in confluence

  • Bad, because {argument d}

Technology Selection Template

  • High Level Summary

  • Principles

  • Options 1/ Option 2

  • Option 1 Info

  • Option 2 Info

  • Cost Factors Option 1

  • Cost Factors Option 2

  • Recommendation

useful for Technology/Platform selection

Ad-Hoc

We come up with our own way to capture

  • Bad, because only used for openIDL