In 2011 Michael Nygard proposed to document important architecture decisions in the following pattern-like format:

  • Title: A short phrase with an ID, e.g. “ADR 9: LDAP for Multitenant Integration”
  • Context: Forces at play, including technological, political, social, and project organizational. Forces might be conflicting.
  • Decision: How do we deal with these forces, what do we do.
  • Status: A decision may be “proposed” (if stakeholders haven’t yet agreed), or “accepted” (once it is agreed). Later it might be marked “deprecated” or “superseded” (you might include a reference to its replacement).
  • Consequences: What happens after the decision has been applied. All consequences should be listed here, not just the “positive” ones. A particular decision may have positive, negative, and neutral consequences.