Skip to main content

Learning Resources

This is a capstone-applied module. The "primary source" is everything you have already learned in prior semesters. These resources are external, validated, and targeted -- open one entry per specific question, not as a reading list.

Canonical Book Backbone

Use these canonical book routes when the capstone guide points you back to source material rather than prior learner-facing modules:

External Resources Stack

SourceRoleHow to use in this module
adr.github.ioCanonical ADR referenceRead once to calibrate tone; use the templates list when writing your three ADRs.
joelparkerhenderson/architecture-decision-record (GitHub)Curated ADR example catalogOpen one real ADR from its examples and use it as a model for ADR-002.
C4 model (c4model.com)Canonical C4 referenceRead the Context, Container, and Component pages; skip Code.
EventStorming (eventstorming.com)Brandolini's official siteRead the Big-Picture and Process-Level sections; that is all you need for solo use.
Bounded Context (martinfowler.com)One-page DDD referenceReread before writing the Domain Model section of the design doc.
Ubiquitous Language (martinfowler.com)One-page DDD referenceReread before writing the glossary.
What Is an MVP? (Eric Ries, leanstartup.co)MVP framingRead once; sanity-check your MVP produces learning, not just code.
Continuous Integration (Martin Fowler)Weekly-integration mental modelScales down to "every week integrates" for solo schedule discipline.
Patterns of Distributed Systems (Martin Fowler)Cost-of-distribution referenceIf you are tempted to pick services, read one pattern -- the complexity will talk you out of it.
Architectural Katas (Neal Ford)Characteristics drillingPick a random kata; practice naming top-3 characteristics in 5 minutes.
Fitness function-driven development (Thoughtworks)Range of fitness function typesUse to pick your first fitness function; shows what shapes are possible.
How Architecture Frames Requirements (Woods & Rozanski, PDF)Risk-driven architecture paperThe lessons-for-architects section is the model for how to defend your capstone against a senior probe.
Design Docs at Google (industrialempathy.com)Big-tech design-doc exemplarReference when shaping the capstone design doc's 12-section spine.
Google Engineering Practices (eng-practices)Code- and doc-review conventionsCalibrate expectations for design-doc reviewability.
Michael Nygard -- Documenting Architecture DecisionsADR origin textRead once to anchor the tripartite ADR format.
Markdown ADR (MADR)Richer ADR templateUse when Nygard's minimal template feels thin.
Martin Fowler -- ADRModern ADR framingRead when writing your ADR index section.
StructurizrC4 diagrams-as-codeReach for this if Mermaid becomes too limiting.
Mermaid docsIn-markdown diagrammingDefault diagram tool for capstone.
Henrik Kniberg -- Making sense of MVPSkateboard-bicycle-car framingUse when tempted to cut to a non-shippable intermediate.
Martin Fowler -- YAGNIScope-cut rationaleUse to justify pre-emptive removal of speculative features.
Martin Fowler -- MaximizingTheWorkNotDoneRestraint framingRead before finalizing the scope-cut list.
Google SRE Book -- Embracing RiskError-budget thinkingReframe your Friday slippage threshold.
Google SRE Book -- Postmortem CultureBlameless honestyModel for the "what I'd do differently" defense slot.
Julia Evans -- Tips for technical talksTalk pragmaticsUse when structuring the 5-minute walkthrough.
StaffEng -- Engineering StrategyStrategy disciplineRead before over-puffing the design doc.
StaffEng -- Manage Technical QualityQuality practiceUse when wiring fitness functions into the doc.
ThoughtWorks -- Lightweight ADRsIndustry-practice blurbCite in the defense when asked "is this standard?"

Cross-Semester Map

Cluster 1: Scoping a Capstone

NeedPrior-semester moduleWhy
Problem vs solution spaceS7 M01 Architecture FundamentalsProblem-first framing is introduced there.
Risk-driven design thinkingS7 M05 ADRs & Reviews, S8 M01 System DesignThe risk register concept is formalized in both.
Iterative, MVP-shaped deliveryS8 M01 System Design MethodologyVertical-slice development is introduced there.

Cluster 2: Domain Discovery

NeedPrior-semester moduleWhy
Bounded contexts and subdomain strategyS7 M03 Domain-Driven DesignThe strategic design chapter is the source of record.
Ubiquitous languageS7 M03 Domain-Driven DesignRevisit the ubiquitous language concept page.
Event-oriented modelingS7 M03 DDD + S8 M01 System DesignEvents vs entities is discussed in both.

Cluster 3: Architecture Decision

NeedPrior-semester moduleWhy
Characteristics / quality attributesS7 M01 Architecture FundamentalsFull catalog of characteristics.
Style trade-offs (monolith/services)S7 M01 + S6 M05 Distributed SystemsStyles catalog + real cost of distribution.
Fitness functionsS7 M05 ADRs & ReviewsThe fitness functions chapter is the source of record.

Cluster 4: Design Communication

NeedPrior-semester moduleWhy
Design doc structureS8 M01 System Design MethodologyLonger version of the capstone's template.
ADR mechanicsS7 M05 ADRs & ReviewsNygard / MADR / Y-statement templates.
Diagramming disciplineS7 M01 Architecture FundamentalsWhy layered diagrams beat single-view.

Cluster 5: Planning for Reality

NeedPrior-semester moduleWhy
Iteration cadenceS8 M01 System Design MethodologyFeedback-loop shape applies at capstone scale.
Drift detectionS7 M05 ADRs & ReviewsDrift between ADR and reality; same discipline.
Defense postureS7 M05 ADRs & ReviewsFacilitation / probing chapter doubles as prep for being probed.

Use Rules

  • Open one external URL per specific gap. Not "I am studying architecture today" -- "I cannot remember whether availability belongs in my top-3."
  • Prefer prior-semester concept pages over external URLs when the question is "I learned this, remind me how." External URLs are for calibration and examples, not re-teaching.
  • Do not open a URL mid-defense-rehearsal. If a question stumps you, note the gap, finish the rehearsal, then go fix the artifact and the gap.
  • No URL should appear in the capstone itself (code, ADR, design doc) -- your artifacts must stand alone. URLs are internal scaffolding.