Architecture Decision Log
The architecture decision log (ADL) is the collection of all architecture decision records (ADR) for the whole Archipelo project, which works as time-machine for the decisions taken by the team. It includes all the information about the substantial decisions, so that each of them can be understood even after longer period of time.
Architecturally-Significant Requirement
Each architecturally-significant requirement (ASR), so the requirement that has a measurable effect on the system and its architecture, should be defined in a separate ADR document.
Architecture Decision Record
The ADR document template can be used as the source of the ADR file. Each created file should include at least:
- Title
- Timeline
- Status (Discussion, Accepted, Deprecated, Rejected)
- Context
- Decision
- Consequences
The status can take one of the following values:
- Discussion - the document was created and is under discussion - it is not yet clear whether it will be accepted or not.
- Accepted - the ASR has been accepted and it can be implemented.
- Deprecated - The ASR is now deprecated and will no longer be worked on. This can happen when the document has been accepted, but not implemented for a longer period of time, or is not relevant anymore.
- Rejected - the ASR has been rejected. Keep in mind that the decision on why it was rejected should be described as well.
You can include any additional information that is useful from the perspective of the requirement, such as:
- Alternative solutions
- Additional resources
- Links
Creating New Architecture Decision Record
- create a new file in the
adr
folder - use the template as the source for the structure of the created file
- fill out the information
- add any additional information that you think may be beneficial
- create a new pull request and add the stakeholders as the reviewers
- the pull request can be merged once it is approved no matter what the decision will be
References
The list of references regarding architecture knowledge management:
- Joel Parker Henderson ADR GitHub
- GitHub ADR page