The Computing Series

Self-Assessment

  1. Name all 10 tradeoffs from memory. For each, state one example of a production system that sits at each extreme of the dial and briefly explain why.

  2. A team is building a ride-matching service. List every architecture tradeoff the system forces and, for each one, state which direction the product requirement pushes the dial.

  3. AT1 (Consistency vs Availability) and AT10 (Synchronous vs Asynchronous) interact. Explain the relationship: how does choosing asynchronous communication affect your consistency-availability position, and under what conditions does it help or hurt?

  4. An engineer argues: “We should always prefer simplicity (AT3) — flexibility is premature optimisation.” Construct the strongest counter-argument. Under what conditions is the engineer correct, and under what conditions are they wrong?

  5. A team discovers six months after launch that their system cannot be extended to support a new client requirement without a full rewrite. Which tradeoff was made incorrectly? What signal should have indicated the wrong direction was being taken, and when would it have been visible?


Concept: F4 — The 10 Architecture Tradeoffs

Thread: T12 (Tradeoffs) ← Optimisation under constraints (Book 1, Ch 13) → Technology strategy vocabulary (Book 6, Ch 3)

Core Idea: Ten named dials — Consistency/Availability, Latency/Throughput, Simplicity/Flexibility, Precomputation/On-Demand, Centralisation/Distribution, Generality/Specialisation, Automation/Control, Coupling/Cohesion, Correctness/Performance, Synchronous/Asynchronous — cover every major architectural decision. Name the tradeoff, set the dial consciously, record the decision.

Tradeoff: Every F4 entry is itself a tradeoff — this is the meta-framework; the entire field of software architecture is applied tradeoff management

Failure Mode: FM4 (Data Consistency), FM5 (Latency Amplification), FM6 (Hotspotting) — the most common production incidents trace to a tradeoff that was made implicitly rather than explicitly

Signal: Any architecture review, design discussion, or technology selection where two engineers disagree about approach — they are almost certainly on different sides of a named tradeoff

Maps to: Reference Book Ch 5 (F1 MM12), Ch 8 (F4 in full); Book 3 (every infrastructure pattern involves an explicit tradeoff); Book 4 (every system design chapter names tradeoffs using F4 vocabulary); Book 6 Ch 3 (ADRs)

Read in the book →