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:
- Fundamentals of Software Architecture for characteristics, tradeoffs, and architecture framing.
- Just Enough Software Architecture for lightweight design-doc discipline and architecture communication.
- Learning Domain-Driven Design for subdomains, bounded contexts, and ubiquitous language.
- Clean Architecture for boundary thinking and decision durability.
External Resources Stack
| Source | Role | How to use in this module |
|---|---|---|
| adr.github.io | Canonical ADR reference | Read once to calibrate tone; use the templates list when writing your three ADRs. |
| joelparkerhenderson/architecture-decision-record (GitHub) | Curated ADR example catalog | Open one real ADR from its examples and use it as a model for ADR-002. |
| C4 model (c4model.com) | Canonical C4 reference | Read the Context, Container, and Component pages; skip Code. |
| EventStorming (eventstorming.com) | Brandolini's official site | Read the Big-Picture and Process-Level sections; that is all you need for solo use. |
| Bounded Context (martinfowler.com) | One-page DDD reference | Reread before writing the Domain Model section of the design doc. |
| Ubiquitous Language (martinfowler.com) | One-page DDD reference | Reread before writing the glossary. |
| What Is an MVP? (Eric Ries, leanstartup.co) | MVP framing | Read once; sanity-check your MVP produces learning, not just code. |
| Continuous Integration (Martin Fowler) | Weekly-integration mental model | Scales down to "every week integrates" for solo schedule discipline. |
| Patterns of Distributed Systems (Martin Fowler) | Cost-of-distribution reference | If you are tempted to pick services, read one pattern -- the complexity will talk you out of it. |
| Architectural Katas (Neal Ford) | Characteristics drilling | Pick a random kata; practice naming top-3 characteristics in 5 minutes. |
| Fitness function-driven development (Thoughtworks) | Range of fitness function types | Use to pick your first fitness function; shows what shapes are possible. |
| How Architecture Frames Requirements (Woods & Rozanski, PDF) | Risk-driven architecture paper | The 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 exemplar | Reference when shaping the capstone design doc's 12-section spine. |
| Google Engineering Practices (eng-practices) | Code- and doc-review conventions | Calibrate expectations for design-doc reviewability. |
| Michael Nygard -- Documenting Architecture Decisions | ADR origin text | Read once to anchor the tripartite ADR format. |
| Markdown ADR (MADR) | Richer ADR template | Use when Nygard's minimal template feels thin. |
| Martin Fowler -- ADR | Modern ADR framing | Read when writing your ADR index section. |
| Structurizr | C4 diagrams-as-code | Reach for this if Mermaid becomes too limiting. |
| Mermaid docs | In-markdown diagramming | Default diagram tool for capstone. |
| Henrik Kniberg -- Making sense of MVP | Skateboard-bicycle-car framing | Use when tempted to cut to a non-shippable intermediate. |
| Martin Fowler -- YAGNI | Scope-cut rationale | Use to justify pre-emptive removal of speculative features. |
| Martin Fowler -- MaximizingTheWorkNotDone | Restraint framing | Read before finalizing the scope-cut list. |
| Google SRE Book -- Embracing Risk | Error-budget thinking | Reframe your Friday slippage threshold. |
| Google SRE Book -- Postmortem Culture | Blameless honesty | Model for the "what I'd do differently" defense slot. |
| Julia Evans -- Tips for technical talks | Talk pragmatics | Use when structuring the 5-minute walkthrough. |
| StaffEng -- Engineering Strategy | Strategy discipline | Read before over-puffing the design doc. |
| StaffEng -- Manage Technical Quality | Quality practice | Use when wiring fitness functions into the doc. |
| ThoughtWorks -- Lightweight ADRs | Industry-practice blurb | Cite in the defense when asked "is this standard?" |
Cross-Semester Map
Cluster 1: Scoping a Capstone
| Need | Prior-semester module | Why |
|---|---|---|
| Problem vs solution space | S7 M01 Architecture Fundamentals | Problem-first framing is introduced there. |
| Risk-driven design thinking | S7 M05 ADRs & Reviews, S8 M01 System Design | The risk register concept is formalized in both. |
| Iterative, MVP-shaped delivery | S8 M01 System Design Methodology | Vertical-slice development is introduced there. |
Cluster 2: Domain Discovery
| Need | Prior-semester module | Why |
|---|---|---|
| Bounded contexts and subdomain strategy | S7 M03 Domain-Driven Design | The strategic design chapter is the source of record. |
| Ubiquitous language | S7 M03 Domain-Driven Design | Revisit the ubiquitous language concept page. |
| Event-oriented modeling | S7 M03 DDD + S8 M01 System Design | Events vs entities is discussed in both. |
Cluster 3: Architecture Decision
| Need | Prior-semester module | Why |
|---|---|---|
| Characteristics / quality attributes | S7 M01 Architecture Fundamentals | Full catalog of characteristics. |
| Style trade-offs (monolith/services) | S7 M01 + S6 M05 Distributed Systems | Styles catalog + real cost of distribution. |
| Fitness functions | S7 M05 ADRs & Reviews | The fitness functions chapter is the source of record. |
Cluster 4: Design Communication
| Need | Prior-semester module | Why |
|---|---|---|
| Design doc structure | S8 M01 System Design Methodology | Longer version of the capstone's template. |
| ADR mechanics | S7 M05 ADRs & Reviews | Nygard / MADR / Y-statement templates. |
| Diagramming discipline | S7 M01 Architecture Fundamentals | Why layered diagrams beat single-view. |
Cluster 5: Planning for Reality
| Need | Prior-semester module | Why |
|---|---|---|
| Iteration cadence | S8 M01 System Design Methodology | Feedback-loop shape applies at capstone scale. |
| Drift detection | S7 M05 ADRs & Reviews | Drift between ADR and reality; same discipline. |
| Defense posture | S7 M05 ADRs & Reviews | Facilitation / 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.