simplest template for adrs
After some searching, I found this one
https://github.com/SouliCool/architecture_decision_record
https://github.com/SouliCool/architecture_decision_record/blob/main/Simple%20ADR.md
Which is nice and simple.
The "Simplest Template for ADRs"!
ADRs (Architectural Decisions Records) are a fantastic way to document, communicate, and rationalize significant design choices in software architecture. Here's a simple template to get you started:
Here's an example of how this template could be used:
"The Choice of Microservices Architecture"
In our e-commerce platform, we've identified a significant increase in traffic and sales. To improve scalability and maintainability, we must refactor our monolithic architecture to a microservices-based system.
Based on the analysis of our performance issues, we decide to adopt a microservices architecture to improve scalability and maintainability.
We expect this decision to:
+ Reduce the complexity of our codebase by decomposing the monolith into smaller, independent services.
+ Improve scalability by allowing us to horizontally scale individual services independently.
+ Enhance maintainability by providing a more granular, modular architecture.
We assume that this decision will not compromise the performance of our existing system during the transition period.
References
microservices-architecture.md
(link to GitHub repository)2023-02-10-design-meeting.md
(link to GitHub repository)By following this simple template, you'll be able to effectively document your ADRs and communicate them clearly to your team and stakeholders.
A bit too complicated
An Architectural Decision Record (ADR) is a document that captures an important architectural decision that has been made along with its context and consequences. The simplest template for recording an ADR should include the following key sections:
A concise, descriptive name for the decision, often in the form of a question or a brief statement. For example: "Database Choice: SQL vs NoSQL".
Provide background information that describes the situation leading to the decision. Include relevant details such as:
Clearly state the decision made. This section should be straightforward, summarizing the chosen approach or solution.
Outline the implications of the decision, both positive and negative. Explain how the decision impacts the system and its stakeholders:
Indicate the status of the decision. Common statuses include:
Note the date when the decision was made.
Identify who made the decision or who is recording it.
Title: Database Choice: SQL vs NoSQL
Context:
We need to select a database technology for our new web application. The application requires high scalability, flexibility to handle different data structures, and strong consistency for transactions. Stakeholders include project managers, developers, and operations teams. Constraints involve limited budget and a tight timeline.
Decision:
We have decided to use a NoSQL database (MongoDB) for its flexibility in handling various data structures and its scalability features.
Consequences:
Status: Accepted
Date: 2023-10-15
Author: Jane Doe
This simplest template ensures that important architectural decisions are well-documented and can be referenced in the future, promoting transparency and clarity within the development team and stakeholders.
A bit too complicated