Architecture Decision Records ADRs | GitScrum
Documentez et tracez décisions architecture pour équipes dev. GitScrum NoteVault est l'endroit idéal pour ADRs avec historique révisions.
4 min de lecture
How to run Architecture Decision Records (ADRs)?
Run ADRs by creating a standardized template in NoteVault, documenting decisions when they're made (not after), including context and alternatives considered, linking ADRs to implementation tasks, and reviewing ADRs when technology changes. NoteVault's revision history tracks decision evolution over time.
ADR template
# ADR-001: [Decision Title]
## Status
[Proposed | Accepted | Deprecated | Superseded by ADR-XXX]
## Date
2025-01-27
## Context
[Why is this decision needed? What problem are we solving?
What constraints exist?]
## Decision
[What is the change being proposed? Be specific.]
## Consequences
### Positive
- [Benefit 1]
- [Benefit 2]
### Negative
- [Tradeoff 1]
- [Tradeoff 2]
## Alternatives Considered
### Option A: [Name]
- Pros: [Advantages]
- Cons: [Disadvantages]
- Why rejected: [Reason]
### Option B: [Name]
- Pros: [Advantages]
- Cons: [Disadvantages]
- Why rejected: [Reason]
## Implementation
- Task: [Link to GitScrum task]
- Timeline: [When to implement]
## References
- [Related documentation]
- [External resources]
ADR labels for tasks
| Label | Purpose |
|---|---|
| adr | Architecture decision related |
| adr:proposed | Decision under discussion |
| adr:accepted | Decision made |
| adr:implementation | Implementing an ADR |
Example ADR
# ADR-003: Use PostgreSQL for Primary Database
## Status
Accepted
## Date
2025-01-27
## Context
We need to choose a primary database for the new application.
Requirements:
- ACID compliance
- JSON support for flexible schemas
- Strong ecosystem and tooling
- Team familiarity
## Decision
We will use PostgreSQL 16 as our primary database.
## Consequences
### Positive
- Strong ACID compliance
- Excellent JSON/JSONB support
- Team has PostgreSQL experience
- Rich extension ecosystem
- Good cloud support (RDS, Cloud SQL)
### Negative
- Horizontal scaling requires more planning
- Some operations heavier than NoSQL alternatives
- Connection pooling needed at scale
## Alternatives Considered
### MongoDB
- Pros: Easy horizontal scaling, flexible schemas
- Cons: Team unfamiliar, eventual consistency concerns
- Why rejected: Preference for ACID, team experience
### MySQL
- Pros: Team knows it, simple setup
- Cons: Weaker JSON support, fewer extensions
- Why rejected: PostgreSQL better fits requirements
## Implementation
- Task: #456 - Database infrastructure setup
- Timeline: Sprint 5
## References
- PostgreSQL 16 release notes
- Cloud provider comparison document
ADR workflow:
NoteVault ADR index
# Architecture Decision Records
## Index
| ID | Title | Status | Date |
|----|-------|--------|------|
| ADR-001 | Monorepo structure | Accepted | 2024-12 |
| ADR-002 | React for frontend | Accepted | 2024-12 |
| ADR-003 | PostgreSQL database | Accepted | 2025-01 |
| ADR-004 | REST vs GraphQL | Proposed | 2025-01 |
## By Category
### Infrastructure
- ADR-003: PostgreSQL database
- ADR-005: AWS for hosting
### Frontend
- ADR-002: React for frontend
- ADR-007: Tailwind for styling
### Backend
- ADR-004: REST vs GraphQL
- ADR-008: Node.js runtime
When to create ADRs
| Create ADR | Don't Need ADR |
|---|---|
| Database choice | Library minor version |
| API design pattern | Code style decisions |
| Major framework | Utility function approach |
| Infrastructure architecture | Bug fix approach |
| Breaking API changes | Internal refactoring |