roam/blog_documenting_architecture_decisions_relevance.org

40 lines
2 KiB
Org Mode
Raw Permalink Normal View History

2021-07-29 22:51:04 +00:00
:PROPERTIES:
:ID: b7c89b7b-5d3a-4cd9-9d26-8107b32ba5a0
:ROAM_REFS: http://thinkrelevance.com/blog/2011/11/15/documenting-architecture-decisions
:END:
2020-08-20 03:18:48 +00:00
#+title: Documenting Architecture Decisions
2021-07-29 22:51:04 +00:00
#+filetags: :literature:articles:
2020-08-20 03:18:48 +00:00
Michael Nygard describes a method for tracking "architecturally significant
2021-07-29 22:51:04 +00:00
decisions" in lightweight [[id:bfb4cd68-85ec-4ea7-99b1-247c918e87bb][ADRs]] using a concise template:
2020-08-20 03:18:48 +00:00
#+begin_quote
- Title :: These documents have names that are short noun phrases. For example,
"ADR 1: Deployment on Ruby on Rails 3.0.10" or "ADR 9: LDAP for Multitenant
Integration"
- Context :: This section describes the forces at play, including technological,
political, social, and project local. These forces are probably in tension,
and should be called out as such. The language in this section is
value-neutral. It is simply describing facts.
- Decision :: This section describes our response to these forces. It is stated
in full sentences, with active voice. "We will ..."
- Status :: A decision may be "proposed" if the project stakeholders haven't
agreed with it yet, or "accepted" once it is agreed. If a later ADR changes or
reverses a decision, it may be marked as "deprecated" or "superseded" with a
reference to its replacement.
- Consequences :: This section describes the resulting context, after applying
the decision. All consequences should be listed here, not just the "positive"
ones. A particular decision may have positive, negative, and neutral
consequences, but all of them affect the team and project in the future.
2021-07-29 22:51:04 +00:00
The whole document should be one or two pages long. We will write each ADR [[id:b3bb163c-4f36-4060-bf9d-47a478914b5b][as if
2020-08-21 02:18:52 +00:00
it is a conversation]] with a future developer. This requires good writing style,
2021-07-29 22:51:04 +00:00
with [[id:dd4a78ca-e525-47be-bb13-5b54b2397957][full sentences]] organized into paragraphs. Bullets are acceptable only for
2020-08-20 03:18:48 +00:00
visual style, not as an excuse for writing sentence fragments. (Bullets kill
people, even PowerPoint bullets.)
#+end_quote