Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce ADRs for the project #365

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Introduce ADRs for the project #365

wants to merge 2 commits into from

Conversation

andregasser
Copy link
Owner

@andregasser andregasser commented Nov 29, 2023

Description

With this PR, I would like to introduce ADRs for this project, as discussed this morning on Slack. Based on the discussion outcome I have created the following:

  • an ADR process which describes how we want to discuss architectural topics in the future and how we get to our ADR.
  • an ADR template that should be used when creating a new ADR.

Happy to get some feedback on this. Let me know what you think.

Type of Change

  • Documentation

Breaking Changes

None.

How Has This Been Tested?

Not tested.

Mandatory Checklist

  • I ran gradle check and there were no errors reported
  • I have performed a self-review of my code
  • I have added tests that prove my fix is effective or that my feature works
  • All tests pass locally with my changes
  • I have added KDoc documentation to all public methods

Optional Things To Check

The items below are some more things to check before asking other people to review your code.

  • In case you worked on a new feature: Did you also implement the reactive endpoint (bigbone-rx)?
  • In case you added new *Methods classes: Did you also reference it in the MastodonClient main class?
  • Did you also update the documentation in the /docs folder (e.g. API Coverage page)?

Added a process description, an ADR template and a first draft of an ADR
which describes how we should handle exceptions with regard to Java
interoperability.
@andregasser andregasser added documentation Improvements or additions to documentation or sample code code quality Everything related to code quality labels Nov 29, 2023
@andregasser andregasser self-assigned this Nov 29, 2023
Copy link

codecov bot commented Nov 29, 2023

Codecov Report

Merging #365 (403aa1d) into master (dab65d4) will not change coverage.
The diff coverage is n/a.

Additional details and impacted files
@@            Coverage Diff            @@
##             master     #365   +/-   ##
=========================================
  Coverage     48.00%   48.00%           
  Complexity      501      501           
=========================================
  Files           137      137           
  Lines          3704     3704           
  Branches        242      242           
=========================================
  Hits           1778     1778           
  Misses         1734     1734           
  Partials        192      192           

Comment on lines +1 to +5
# ADR Process

## Overview

In the BigBone project, we use ADRs to log the outcome of design and decision making activities. Hence, we can view them
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should write down in full what “ADR” means at least once here at the start of the document. At least I didn’t know that abbreviation.

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point. I had it written out somewhere but it seems it did not make it into this PR. Will fix it. 👍


## Status

The status of this ADR. It can be either Proposed, Accepted, Rejected, Deprecated, Superseded.
Copy link
Collaborator

@bocops bocops Nov 29, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assume that any existing ADR could be deprecated/superseded by the outcome of a new discussion thread but I think it is still worth explaining Deprecated and Superseded including the differences between these two, or rather the process that leads to these statuses, somewhere.

If we propose changes via a separate discussion thread and an ADR is only written after that discussion has ended, we should never have an ADR in the status Proposed.

Similarly, what is the purpose of documenting something as Rejected? If a discussion leads to something else than the originally suggested design, can't we just record this as a different design being Accepted?

Explanations for these terms should probably be added to adr-process.md as necessary.

Comment on lines +7 to +10
## Context

What is the issue that we're seeing that is motivating this decision or change?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Context" should probably include a link to the discussion thread that led to the ADR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
code quality Everything related to code quality documentation Improvements or additions to documentation or sample code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants