You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by Tellier Benoit <bt...@apache.org> on 2019/10/16 02:07:42 UTC
Use of Architectural Decision Records as a basement for our
discussion process
Hi everyone,
Let me post here a proposal made by Gautier which I find of interest:
Over the last months, my company (Linagora) have done a large set of deep
changes in James' architecture without much discussion with the community.
In order to change that, we would like to propose an
Architectural Decision Records [1] based process.
It would work as following:
1. Publish an ADR proposition on this list, with the associated JIRA
2. Discuss it
3. Add it to the code base
[1] https://adr.github.io/
Let me begin:
* JIRA: https://issues.apache.org/jira/browse/JAMES-2909
* PR: https://github.com/apache/james-project/pull/166
# 1. [JAMES-2909] Record architecture decisions
Date: 2019-10-02
## Status
Proposed
## Context
In order to be more community-oriented, we should adopt a process to have a
structured way to have open architectural decisions.
Using an Architectural Decision Records-based process as a support of
discussion on the developers mailing-lists.
Following [Apache Decision Making
process](https://community.apache.org/committers/decisionMaking.html),
we provide the following possible status, with their associated meaning:
- `Proposed`: The decision is being discussed on the mailing list.
- `Accepted (lazy consensus)` : the architecture decision was proposed
on the mailing list, and a consensus emerged from people involved in the
discussion on the mailing list.
- `Accepted (voted)` : the architecture undergo a voting process.
- `Rejected` : Consensus built up against that proposal.
## Decision
We will use Architecture Decision Records, as [described by Michael
Nygard](http://thinkrelevance.com/blog/2011/11/15/documenting-architecture-decisions).
We should provide in a mutable `References` section links to related
JIRA meta-ticket (not necessarily to all related sub-tickets) as well as
a link to the mail archive discussion thread.
JIRA tickets implementing that architecture decision should also link
the related Architecture Decision Record.
## Consequences
See Michael Nygard's article, linked above. For a lightweight ADR
toolset, see Nat Pryce's [adr-tools](https://github.com/npryce/adr-tools).
## References
* [JAMES-2909](https://jira.apache.org/jira/browse/JAMES-2909)
* [Github PR](https://github.com/apache/james-project/pull/169)
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org