Book Exercise Lanes
This module's exercise system is book-driven. Use these local chunks for targeted volume after you have already learned the concept from the guide.
How To Use This Page
- Finish the relevant concept page first.
- Do the task from memory before opening any chunk.
- Only then open the matching exercise lane.
- Keep a mistake log tagged with things like:
confused quality vs characteristic,too many top-3 characteristics,fitness function unfalsifiable,missed implicit characteristic,no measurable response,unlabeled arrow,diagram without audience,reversibility misclassified,tradeoff proposal without costs,cargo-culted best practice,no alternatives considered.
Lane 1: "What Is Architecture?" Diagnostics
Use this lane when you cannot cleanly separate architecture from design or code.
- Richards & Ford: Defining software architecture
- Richards & Ford: Architectural thinking
- Richards & Ford: Balancing architecture and hands-on coding
- Fairbanks: What is software architecture
- Fairbanks: Why is software architecture important (part 1)
- Martin: Behavior to fight for the architecture
Target outcomes:
- 10 real decisions classified as architecture vs design vs code with written reasoning
- 3 "I thought this was architecture but it isn't" diagnoses from real code you have seen
- 2 short writeups: "the technical / strategic / communicator role I am weakest in, and why"
- 1 architecture-in-plain-language essay you could hand to a non-engineer product partner
Lane 2: Quality Attributes as Scenarios
Use this lane when you cannot translate stakeholder language into measurable scenarios.
- Richards & Ford: Architecture characteristics defined
- Richards & Ford: Cross-cutting architecture characteristics
- Richards & Ford: Measuring architecture characteristics
- Richards & Ford: Analyzing trade-offs
Target outcomes:
- 20 quality-attribute scenarios in full ATAM form (stimulus, environment, response, measurable response) across 3 different domains
- 5 rewrites of vague stakeholder quotes ("fast", "reliable", "scalable") into scenarios
- 3 "implicit quality" mini-essays: name the quality the brief did not state, state why the domain demands it
- 2 writeups that cleanly separate a confused pair (performance vs scalability; availability vs reliability; modifiability vs deployability)
Lane 3: Extracting Characteristics and Ranking
Use this lane when you cannot pick a defensible top-3 from requirements.
- Richards & Ford: Identifying architectural characteristics
- Richards & Ford: Extracting architecture characteristics from requirements
- Richards & Ford: Explicit characteristics
- Richards & Ford: Implicit characteristics
- Richards & Ford: Scope of architecture characteristics
- Richards & Ford: Going, going, gone case study
Target outcomes:
- 6 full workshops: extract, cluster, rank top-3, state minimum bar for the rest, conflict scan (across 3 domains minimum)
- 3 of those 6 must include at least one implicit characteristic you added that the brief did not state
- 3 "top-3 is wrong because" critiques of real proposals (real or synthesized)
- 1 short personal playbook: the questions you now ask whenever you see a new requirements document
Lane 4: Fitness Functions and Measurement
Use this lane when your characteristics list is good but you cannot automate its verification.
- Richards & Ford: Measuring architecture characteristics
- Richards & Ford: Fitness functions
- Richards & Ford: Measuring modularity
- Richards & Ford: Measuring modularity 2
- Richards & Ford: Connascence
Target outcomes:
- 8 runnable fitness functions across at least 4 different characteristics (performance, modifiability, security, observability, scalability, testability, reliability)
- Each function: scenario, failure signal, runnable code or config, pipeline wiring, owner
- 2 "this dashboard is not a fitness function" rewrites (turn a dashboard check into a CI-blocking automated check)
- 1 stale-signal audit: pick a fitness function and verify it still fails when it should
Lane 5: Tradeoffs and Reversibility
Use this lane when proposals look like best practices instead of tradeoffs.
- Richards & Ford: Analyzing trade-offs
- Richards & Ford: Architecture characteristics ratings
- Richards & Ford: Monolithic vs distributed architectures
- Fairbanks: Risk-driven model
- Fairbanks: Project management risks, software engineering risks
- Fairbanks: Guidance on choosing techniques
- Fairbanks: Planned and evolutionary design
Target outcomes:
- 8 buys/spends writeups for proposals of your choice (or real proposals from your work), each with at least two alternatives considered
- 3 of those 8 proposals end in "no" or "not yet" with explicit revisit conditions
- 10 decisions classified one-way or two-way, with reversal-cost estimate and revisit trigger
- 2 "cargo-culted best practice" critiques: name the imported practice, name the context it came from, explain why this context differs
Lane 6: Communicating Architecture
Use this lane when you cannot hand off an architectural artifact without explaining it in a meeting.
- Fairbanks: Team communication part 1
- Fairbanks: Team communication part 2
- Fairbanks: Team communication part 3
- Fairbanks: Approach description
- C4 Model
- arc42 template
Target outcomes:
- 4 C4 Context + Container diagram pairs for 4 different systems, each with audience, scope, legend, and labeled relationships
- 2 arc42 section drafts (pick two sections from your own system - one structural, one quality)
- 3 bad-diagram critiques with redraws (use peers' diagrams, or pick real ones from public postmortems)
- 1 architectural risk register: at least 10 risks with category (technical, project, change), likelihood, impact, and mitigation
Self-Curated Problem Set
Build a custom set with these minimums:
- 6 different systems to analyze (pick across domains: consumer, B2B, regulated, data-heavy, real-time, internal tools)
- 20 quality-attribute scenarios across those systems
- 6 top-3 characteristic workshops (one per system)
- 8 runnable fitness functions wired in CI or a runnable script
- 8 tradeoff writeups with buys, spends, alternatives, decision, revisit condition
- 4 C4 Context + Container diagram pairs
- 3 architectural-risk registers
Completion Checklist
- Completed at least four lanes in full
- Logged at least 15 real mistakes and corrections
- Produced at least 20 ATAM-form scenarios across 3+ domains
- Produced at least 6 top-3 workshops, each defensible to a peer
- Produced at least 8 runnable fitness functions, each with pipeline wiring and owner
- Produced at least 4 C4 diagram pairs with legend, audience, and scope
- Written a personal architecture-decision playbook you actually use