Hi devs,
I’d like to propose that we try to record our architecture decisions using an ADR for Cristal.
The rationale is that after some it’s hard to remember why we took some decision and while we can try to search for it in the past mailing lists/forum posts/matrix or IRC chats, it’s not easy. So the idea would be to:
- For any architecture decision we propose it on the forum (our current practice)
- When agreed, we add one or several ADRs (an ADR is supposed to contain only 1 item).
Example:
- Decision to code Cristal using type script
For more info about ADRs, see:
- GitHub - joelparkerhenderson/architecture-decision-record: Architecture decision record (ADR) examples for software planning, IT leadership, and template documentation
- Documenting Architecture Decisions
- Architecture Decision Record : on commence aujourd’hui - OCTO Talks ! (French)
Furthermore, I’m proposing that we use xwiki.org to hold the Cristal ADRs, using a custom XClass/XSheet/LD (we could make it an app on contrib), with the following xproperties:
- Title: this is the doc title, not an xproperty
- Decision: the decision taken
- Context: Explains the context in which the decision was taken
- Pros/Cons: List of alternatives with pros and cons
- Decision date
- Links: links to related URLs, including the forum link where the decision was taken
- Consequences: what are the consequences of that decision. This is to be amended across time, the rest should not be touched anymore once the decision has been taken.
WDYT?
Thanks
PS1: We could test that for Cristal and it works well, we could also propose it for XS dev.
PS2: It feels a bit like design.xwiki.org but it’s not the same scope and size (design.xwiki.org is more geared towards implementation and ADR are smaller and focused more on architecture decisions). Design.xwiki.org entries could link to ADR decisions though, where needed.