-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathyadr-template-full.yaml
More file actions
96 lines (76 loc) · 3.84 KB
/
Copy pathyadr-template-full.yaml
File metadata and controls
96 lines (76 loc) · 3.84 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
---
metadata:
# these are optional metadata elements. feel free to remove any of them, or entire metadata mapping
status: '{proposed | rejected | accepted | deprecated | … | superseded by ADR-0123}'
date: '{YYYY-MM-DD when the decision was last updated}'
decision-makers: '{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}'
title: '{short title, representative of solved problem and found solution}'
context-and-problem-statement: |
{Describe the context and problem statement, e.g., in free form using two to three sentences or in the form of an illustrative story.
* You may want to articulate the problem in form of a question.
* Consider adding links to collaboration boards or issue management systems.
* Make the scope of the decision explicit, for instance, by calling out or pointing at structural architecture elements (components, connectors, ...).}
# this is an optional element
decision-drivers:
- '{decision driver 1, e.g., a force, facing concern, …}'
- '{decision driver 2, e.g., a force, facing concern, …}'
- '… <!-- numbers of drivers can vary -->'
considered-options:
- &id-of-option-1 '{title of option 1}'
- &id-of-option-2 '{title of option 2}'
- &id-of-option-3 '{title of option 3}'
# numbers of options can vary
# this is an optional element
pros-and-cons-of-the-options:
# the id/title needs to match the one defined in considered-options
id-of-option-1:
# this is an optional element
description: |
{example | description | pointer to more information | …}
pros:
- &argument-a '{argument a}'
- '{argument b}'
# use "neutral" if the given argument weights neither for good nor bad.
neutral:
- &argument-c '{argument c}'
cons:
- &argument-d '{argument d}'
# numbers of arguments may vary
id-of-option-2:
# same structure as id-of-option-1
description: |
{example | description | pointer to more information | …}
pros:
- &argument-a '{argument a}'
- '{argument b}'
neutral:
- &argument-c '{argument c}'
cons:
- &argument-d '{argument d}'
decision-outcome:
chosen-option:
link: *id-of-option-1
justification: |
{rationale; e.g.,
- only option, which meets k.o. criterion decision driver, which resolves force {force}, …
- {why other options were not chosen, e.g., id-of-option-2 fails because …}
- comes out best (see below)}
# this is an optional element
consequences:
positive:
# numbers of entries can vary
- *argument-a
- '{positive consequence, e.g., improvement of one or more desired qualities, …}'
neutral:
- *argument-c
- '{neutral consequence, e.g., resulting activity, new requirement/decision, …}'
negative:
- *argument-d
- '{negative consequence, e.g., compromising one or more desired qualities, …}'
# this is an optional element
confirmation: |
{Describe how the implementation / compliance of the ADR can/will be confirmed. Is there any automated or manual fitness function? If so, list it and explain how it is applied. Is the chosen design and its implementation in line with the decision? E.g., a design/code review or a test with a library such as ArchUnit can help validate this. Note that although we classify this element as optional, it is included in many ADRs.}
more-information: |
{You might want to provide additional evidence/confidence for the decision outcome here and/or document the team agreement on the decision and/or define when/how this decision the decision should be realized and if/when it should be re-visited. Links to other decisions and resources might appear here as well.}