Skip to main content

Learning Resources

This module is populated from the local chunked books in library/raw/semester-07-architecture-ddd/books plus a small external ADR/review community. Use this page as a source map, not as an instruction to read everything.

Source Stack

BookRoleHow to use it in this module
Fundamentals of Software Architecture (Richards, Ford)Primary teaching sourceDefault escalation for ADR mechanics, fitness functions, review discipline, and team governance
Just Enough Software Architecture (Fairbanks)Selective support for risk-driven reviewUse for the risk-driven model, analyzing models, and communicating architecture under constraint
Clean Architecture (Martin)PeripheralBackground framing only; rarely needed in this module
Learning Domain-Driven Design (Khononov)PeripheralContext for Cluster 1 (what is architectural vs design) when bounded contexts come up
API Design Patterns (Geewax)PeripheralUseful examples of one-way-door decisions for public APIs

Resource Map by Cluster

Cluster 1: Architecture Decisions as Artifacts

NeedBest local chunkWhy
what counts as architectureFundamentals: Defining software architecturePrimary framing of scope
architecture vs design decisionFundamentals: Architecture decisionsDirectly addresses the boundary
rational choiceJust Enough: Make rational architecture choicesComplements the blast-radius lens
reversibility under riskJust Enough: Risk-driven modelTwo-way / one-way door framing
why record decisionsFundamentals: Architecture decision recordsPurpose and structure

Cluster 2: ADR Mechanics

NeedBest local chunkWhy
ADR basic structureFundamentals: Basic structureThree-section template
ADR templates in the wildADR community indexLargest real-world ADR corpus
MADR templateMADR homeCanonical MADR spec
consequences with tradeoffsFundamentals: Analyzing trade-offsHow to write real consequences
communication disciplineJust Enough: Team communication part 1How decisions travel

Cluster 3: Architecture Review Methods

NeedBest local chunkWhy
ATAM-style analysisJust Enough: Analyzing architecture models part 1Approach to structured evaluation
quality attribute scenariosJust Enough: Quality attribute scenariosCore ATAM scenario shape
risk-driven allocationJust Enough: Risk-driven modelProportional review
technique selectionJust Enough: Guidance on choosing techniquesPick the right review tool
lightweight peer reviewFundamentals: Making teams effectiveHow peer review actually works

Cluster 4: Running Architecture Reviews in Practice

NeedBest local chunkWhy
preparing a reviewFundamentals: Leveraging checklistsChecklist-style review packages
facilitationFundamentals: Negotiation and facilitationHow to run the room
when to disagreeFundamentals: Negotiating with other architectsSustained disagreement productively
architect as leaderFundamentals: The software architect as a leaderReview is a leadership act
capturing risksFundamentals: Risk matrixThe format for captured risks
risk storming techniqueFundamentals: Risk stormingA workshop-style risk surfacing

Cluster 5: Architecture Decisions Over Time

NeedBest local chunkWhy
fitness functionsFundamentals: Fitness functionsPrimary treatment
measuring architectureFundamentals: Measuring architecture characteristicsMetrics and thresholds
drift / mismatchJust Enough: Architectural mismatchWhere decisions diverge from reality
systemic challengesJust Enough: Challenges part 1Recurring architecture difficulties
team sustainabilityFundamentals: Integrating with the development teamArchitecture as a team practice
career-long craftFundamentals: Developing a career pathLong-horizon view

Concept-to-Source Map (Primary Concepts Only)

Primary conceptBest source if stuckWhy this source
Architecture vs design decisionFundamentals: Architecture decisionsDirectly on the boundary
Why decisions need to be recordedFundamentals: ADRsPrimary rationale
Reversibility: one-way / two-way doorsJust Enough: Risk-driven modelEquivalent framing in risk language
ADR templatesFundamentals: Basic structureTemplate scaffolding
Context, decision, consequencesFundamentals: Analyzing trade-offsHow to write real consequences
ATAM sketchJust Enough: Analyzing architecture models part 1ATAM-style evaluation
Risk-driven reviewJust Enough: Risk-driven modelPrimary source
Lightweight peer reviewFundamentals: Making teams effectiveReview culture
Preparing a reviewFundamentals: Leveraging checklistsPackage and agenda
FacilitationFundamentals: Negotiation and facilitationCuriosity vs judgment
Fitness functionsFundamentals: Fitness functionsPrimary treatment
Architectural driftJust Enough: Architectural mismatchDrift framing

External Resources (Validated)

These URLs were validated; use them when you want a second exposition or a community reference.

Use Rules

  • If you are unsure whether something is an architectural decision, go to Fundamentals (Cluster 1 chunks) first.
  • If you need risk calibration, go to Just Enough (Cluster 3 chunks).
  • For fitness function mechanics, start with Fundamentals chapter on fitness functions; supplement with Fowler's foreword.
  • For ADR templates, use the GitHub community index and MADR home directly - the book coverage is minimal.
  • Open one chunk per concept gap; do not wander.
  • If rereading does not fix the problem, stop and write a short critique of the last ADR you produced; most gaps surface there.