$darkmode
Elektra 0.11.0
|
We base our decision process and template on:
This document describes every section of our TEMPLATE.md.
Clearly define:
List all constraints given by:
Note: The decision (but not necessarily the solutions) must fulfill all constraints.
Assumptions are often overlooked, so this section needs special care and honesty. Assumptions are what we believe to be true but do not or cannot really know, e.g.:
Note: The decision (but not necessarily the solutions) must not break any assumptions.
This is a list of all solutions and a rationale why not-chosen solutions were not taken, e.g. because:
Here should be a detailed description of the best solution, i.e., the decision. It should make clear how the implementation should be done.
Referring back to the solutions written above is allowed.
Give all details why the solution:
Also describe all drawbacks the solution has.
Here is a full description of everything that the decision will change or whatever needs to be changed because of the decision. This can be:
This section has links to other decisions with description what the relation is. One-side relations are allowed, not every decision must link back. Decisions that give constraints must be listed in "Constraints" above.
Guideline: Links to decisions should be in the form
../step of decision/name of decision.md
. In particular, they should always contain the step of the decision, even if they are in the same directory. This makes renaming issues easier.
Note: Sometimes the best solution is only understood if the relation between decisions becomes clear. Make sure that everything that requires updates to a decision, is listed as "Constraints" or "Assumptions".
Here is a full list of off-line discussions, issue trackers, PRs etc. related to this decision. Preferable it is linked, but if it is not possible, it can also be in full-text here. If particular information is important and not present in any sections above, please quote it here.
Any incomplete and unexplored idea/opinion, which is not complete enough to be in "Solutions", can be written here. For example, if it is obvious that the idea does not even solve the problem. Unlike the main decision and solutions, text in the notes does not need rationale.
Furthermore, the author, acknowledgments, dates etc. can be written here.