Framing a trade-off and recording it in an ADR
A year later, nobody remembers why the team picked that architecture unless the decision was written down. The lesson helps a PM state a trade-off explicitly, scale the analysis to how reversible a choice is, and write an Architecture Decision Record the whole team can use.
Lesson objective
By the end of this lesson, you will be able to frame an architecture trade-off ("we favor X at the expense of Y"), judge whether a decision is reversible and therefore deserves more or less analysis, and write an ADR with context, options, decision, consequences and a review condition.
Topics covered
- ADR
- architecture decision record
- architecture trade-off
- reversible decision
Where it fits
Deciding and recording
How do you choose between two options, keep a record of the decision and deal with technical debt?
Lessons in this module
- Framing a trade-off and recording it in an ADR (this lesson)
- Technical debt, a product decision
What you will learn in the course
This lesson is part of the course Read and challenge a technical architecture
- Read an architecture diagram (context and container levels of the C4 model) and spot its components, flows, boundaries and gray areas.
- Turn vague expectations ("fast", "reliable", "scalable") into measurable non-functional requirements, written as quality attribute scenarios.
- Compare monolith, modular monolith and microservices, then synchronous calls and asynchronous processing, based on the team, the load and the consequences for the user.
- Assess data choices (source of truth, transactions, replicas, consistency), scaling and caching, and spot the bottleneck of a user journey.
- Assess dependencies on third-party services (composite availability, degraded mode, vendor lock-in) and a build or buy decision.
- Frame an architecture trade-off, record it in an ADR and treat technical debt as a product decision.
- Run an architecture review of your product or of a proposal, with ten questions, a risk register and explicit trade-offs.
Related courses
- Git for PMs: ship as a team without putting production at riskAdvanced · ~3 hr 30 min
- Explain how a web product works, from browser to serverAll levels · ~2 hr 30 min
- Design and test an API integration as a PMJunior · ~3 hr