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

Proposal: Write Architectural Decision Records #1309

Open
thunderbiscuit opened this issue Jan 31, 2024 · 3 comments · May be fixed by #1592
Open

Proposal: Write Architectural Decision Records #1309

thunderbiscuit opened this issue Jan 31, 2024 · 3 comments · May be fixed by #1592
Labels
discussion There's still a discussion ongoing documentation Improvements or additions to documentation

Comments

@thunderbiscuit
Copy link
Member

This issue will track the discussion around potentially adding Architectural Decision Records (ADRs) to the BDK repository.

I personally learned about them for the first time last year when reading the ADRs for the uniffi project. Their readme defines well what they are useful for:

This directory contains a series of Architectural Decision Records or "ADRs" for the uniffi project. We're going to try to use it as a kind of collective memory of the decisions we've made and the path we've taken to get the project to its current point. Proposing a non-trivial change to the way uniffi works? You might like to start with an ADR by copying template.md into a new file, filling out a first version of the proposal, and posting it as a PR on the github repo for discussion.

The template in question contains section titles prompting the writer to expand on many interesting points for newcomers to the codebase attempting to understand the history of the codebase, the important choices that were made, and why they were made. Section titles include:

- Short title of solved problem and solution
- Date
- Technical Story
- Context and Problem Statement
- Decision Drivers
- Considered Options
- Pros and Cons of the Options
- Decision Outcome
- Links

We have incorporated them (albeit very lightly so far) in the bdk-ffi repository. Even writing out some of those things helped me cement my understanding of why we had done things a certain way and allowed us to open a few PRs to clean up the codebase in order to live by the small ADRs we had written. We'll write more in the future.

Some extra readings on ADR:

@thunderbiscuit thunderbiscuit added documentation Improvements or additions to documentation discussion There's still a discussion ongoing labels Jan 31, 2024
@notmandatory notmandatory moved this to Todo in BDK Mar 18, 2024
@notmandatory notmandatory moved this to Todo in BDK-Bindings Mar 18, 2024
@ValuedMammal
Copy link
Contributor

The recent persistence changes (#1473) would be a good candidate for an ADR

@oleonardolima
Copy link
Contributor

As we've been discussing about the Book of BDK, I think ADRs might also contribute by better referencing the decisions behind some specific usage/architecture mentioned in the book, so another +1 to ADRs.

@oleonardolima
Copy link
Contributor

oleonardolima commented Aug 9, 2024

All the discussions/decisions on requiring a change descriptor (#1390), and reverting on it (#1533) would be another great candidate for an ADR.

@ValuedMammal ValuedMammal linked a pull request Sep 5, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion There's still a discussion ongoing documentation Improvements or additions to documentation
Projects
Status: Todo
Status: Todo
Development

Successfully merging a pull request may close this issue.

3 participants