canonical / prometheus-k8s-operator

https://charmhub.io/prometheus-k8s
Apache License 2.0
21 stars 35 forks source link

Add architecture decision log [do not merge: experiment] #358

Closed sed-i closed 2 years ago

sed-i commented 2 years ago

Issue

There is currently no centralized place to document architecturally-significant decisions.

Solution

(Proposal) Use a lean Y-statements-like format to log the arch. decision records, all in the same file.

In short, the Y-statement is as follows:

In the context of <use case/user story u>, facing <concern c> we decided for <option o> to achieve <quality q>, accepting <downside d>.

The long form of it is as follows (extra section “because”):

In the context of <use case/user story u>, facing <concern c> we decided for <option o> and neglected <other options>, to achieve <system qualities/desired consequences>, accepting <downside d/undesired consequences>, because <additional rationale>.

Release Notes

Add architecture decision log.

simskij commented 2 years ago

This is something we've discussed prior, but using the terminology ADRs (Log -> Record). While I do like the premise, and have been using them extensively in other projects, I do wonder if we should:

  1. adopt the practice, but
  2. put it with the rest of our specs.

WDYT?

beliaev-maksim commented 2 years ago

great idea but I would go for an explicit file name rather than another acronym

sed-i commented 2 years ago

I think we should revisit this when we start working on v1. Closing.