GuideIntermediate
Architecture Decisions And Tradeoffs
Learn the craft of deciding in architecture: how to make decisions under uncertainty, make trade-offs explicit, record them in Architecture Decision Records (ADRs), and defend them with evidence instead of opinion. The core idea of this guide is that architecture isn't a diagram, it's a set of decisions — each with a cost, a reversibility, and consequences — and that "there's no best, only trade-offs" between quality attributes. You build a decision matrix with weighted criteria and sensitivity analysis, write ADRs in Nygard format (Context/Decision/Consequences/Status), generate and test alternatives with spikes before committing, and protect each decision with a fitness function that fails automatically if the system crosses a threshold. You also work through the cost and reversibility of deciding: one-way vs two-way doors, the last responsible moment, and technical debt as a deliberate trade-off. Everything quantifiable is executed in Python, not eyeballed. You work on Mercado's open decisions — should orders and shipping communicate synchronously or through events? should the catalog be extracted into its own service? — and close with a project where you make and record a real architectural decision end to end.
- 64
- lessons
- 8
- modules
- English · Spanish
- available in
- Yes
- certificate
- Free
- access
Outcomes
What you'll be able to do
- Understand that architecture is a set of decisions, not a diagram, and what makes a decision "architectural"
- Recognize that there's no "best," only trade-offs between quality attributes (the -ilities: performance, scalability, maintainability, availability, security, cost), and quantify them instead of adjectivizing them
- Write Architecture Decision Records (ADRs) in Nygard format: Context / Decision / Consequences / Status, and know when one ADR supersedes another
- Build a decision matrix with weighted options and criteria, compute the score, and run a sensitivity analysis executed in Python
- Generate at least three alternatives before deciding and reduce uncertainty with spikes or prototypes, instead of deciding on opinion
- Write fitness functions: automated tests that measure a quality attribute (coupling, p99 latency, deploy size) and fail if it crosses a threshold
- Evaluate the cost and reversibility of a decision: one-way vs two-way doors, the last responsible moment, and technical debt as a deliberate trade-off
- Run a capstone project: make a real architectural decision for Mercado with at least three alternatives, a decision matrix, an ADR, and a fitness function
Before you start
What you need to bring
It's for you if...
- Developers and tech leads who need to make and defend architectural decisions with evidence, not opinion
- Teams with no ADR process who keep losing the "why" behind past decisions and end up repeating or contradicting them unknowingly
- Architects who need to justify trade-offs to technical stakeholders with a reproducible method
- Devs who want to move from "I just like X" to comparing options with a weighted matrix and protecting them with code
Requirements and materials
- Experience designing or maintaining backend systems (services, APIs, databases)
- Python to run the guide's decision matrices and fitness functions
- No prior knowledge of any specific architectural pattern required — this guide decides BETWEEN them, it doesn't teach them in depth
Content
The syllabus, module by module
Open any of them to see its lessons.
- Module introduction: architecture is decisions, not diagrams
- What makes a decision architectural
- Local versus architectural decisions
- The cost of deciding
- The cost of NOT deciding
- Deciding under uncertainty
- Architecture is decisions, not diagrams
- Mini-project: classify and prioritize Mercado's open decisions
- 1. Module introduction: there is no "best", only trade-offs
- 2. What "good" means: the quality attributes
- 3. Why quality attributes compete
- 4. The trade-off is your deliverable
- 5. Quantify, don't adjectivize
- 6. Performance costs freshness: the cache trade-off
- 7. There is no context-free "best"
- 8. Project: quantify and name a Mercado trade-off
- 1. Module introduction: the ADR, the team's memory
- 2. Why an ADR is written: architectural amnesia
- 3. The anatomy of an ADR: Context, Decision, Consequences, Status
- 4. The status of an ADR: proposed, accepted, superseded, deprecated
- 5. The decision log: the numbered and immutable memory
- 6. Supersede: replacing a decision without erasing the history
- 7. Lightweight ADRs versus heavy documentation
- 8. Project: write and validate Mercado's decision log
- 1. Module introduction: the decision matrix
- 2. The anatomy of a decision matrix
- 3. Choosing the criteria that matter
- 4. Scoring options on a common scale
- 5. Weights without rigging the result
- 6. Sensitivity analysis and false precision
- 7. The matrix is a thinking aid, not an oracle
- 8. Project: score a Mercado decision with a matrix
- 1. Module introduction: generating and testing options
- 2. Generate at least three options
- 3. The first-idea bias and anchoring
- 4. The spike: buying information with an experiment
- 5. Timebox the spike and throw it away
- 6. The walking skeleton
- 7. Decide with evidence, not the loudest voice
- 8. Project: run a spike for a Mercado decision
- 1. Module introduction: fitness functions and evolutionary architecture
- 2. What is a fitness function
- 3. The forbidden dependency
- 4. Measuring coupling as a fitness function
- 5. Atomic and holistic fitness functions
- 6. Fitness functions in CI: the gate
- 7. Evolutionary architecture: changing safely
- 8. Project: protect a Mercado decision with a fitness function
- 1. Module introduction: the cost and reversibility of decisions
- 2. One-way and two-way doors
- 3. Calibrate the rigor to the reversibility
- 4. The last responsible moment
- 5. Technical debt as a deliberate trade-off
- 6. The technical-debt quadrant
- 7. Make one-way doors reversible
- Mini-project: cost and reversibility of a Mercado decision
- 1. Module introduction: the return journey
- 2. Is this an architectural decision? Calibrate the rigor
- 3. Generate options and run a spike
- 4. Quantify the trade-off
- 5. Score the matrix and stress-test it
- 6. Write the ADR
- 7. Protect the decision with a fitness function
- 8. Project: decide and record a Mercado decision
Common questions
What people usually ask
No limit. It's a free guide: come in whenever you like, as often as you like.
No. Modules run from easier to harder, but you can jump to the one you need. Progress is saved per lesson.
Whatever is needed is listed under “What you need to bring”, above. If nothing is listed there, you can start from zero.
In the Club's WhatsApp group, and every two weeks there's a live with an instructor where questions get worked through.
Yes. It's issued automatically once you finish every lesson, with a verifiable code you can share on LinkedIn.
Start whenever you like
What students say
These reviews are from enrolled students who completed at least 50% of the course. We moderate reviews only on content grounds (spam, offensive language, personal data), never for being critical or negative.
No approved reviews yet.
Be the first to share your experience!