status |
---|
accepted |
For various reasons there is a need for transparency and clarity about the rationale for changes made to the TAMS API. This is an open API definition that we hope will become widely adopted, so it is important that potential users can see how and why design decisions were taken. It's also beneficial to anyone involved in the collaborative development of the API to have a historical record of design decisions, rationale and attribution for those decisions.
- Need to track design decisions, rationales and attribution.
- Need to ensure development of the API is open and transparent
- Need to build in collaborative workflows to arrive at design decisions, that leave an audit trail
- Use Github Issues
- Use Github Discussions
- Use (M)ADR documents, one per decision, version controlled using GitHub
- Use a combination of the above
Chosen option: "Use (M)ADR documents, one per decision", because Meets all of the requirements. Could be supplemented with use of Issues and/or Discussions if/when the need arises, but these serve slightly different purposes.
- Good, because provides a mechanism for tracking design decisions from the start
- Good, because centralises the storage of these records alongside the API definition itself
- Good, because supports collaborative working in the open
Implemented by #15
It was felt that GitHub Issues exists to solve the problem of tracking problems rather than solutions
It was felt that GitHub Discussions, whilst a potentially useful adjunct to ADRs, doesn't really provide a structured, easy to parse way to document design decisions that makes implicit assumptions explicit
This will be kept under review, and other mechanisms may be introduced to support the use of ADRs