Skip to main content

Module Exercises

Four lanes aligned to the module's clusters. Unlike earlier semesters, every exercise here produces an artifact that becomes part of your capstone. Nothing here is a throwaway drill.

How to Use This Page

  1. Finish the relevant cluster's concept pages and practice page first.
  2. Then work this lane until the deliverable exists in your capstone repo.
  3. If the deliverable already exists from the practice page, treat the lane as a review and extension pass -- deepen what is there, do not rewrite.
  4. Maintain a mistake log tagged by lane (wrong-sized problem, missing non-goal, silent characteristic, ADR without consequences, drift in glossary, etc.).

Lane 1: Scoping Artifacts (aligned with Cluster 1)

Use this lane when your scope, risk, or MVP is still fuzzy on day 2 or day 3 of capstone week 1.

Exercises:

  • Rewrite your problem statement three times, each time with a more specific user. Keep the clearest.
  • Find someone outside your degree program. Explain your capstone in 30 seconds. Write down every confused face or counter-question. Those are holes in your framing.
  • Extend your risk register to 5 rows even if you can only think of 3. Brainstorming rows 4 and 5 usually reveals the real #1.
  • Take your MVP and cut one step. Argue with yourself: can the system still be evaluated without it? If yes, the step was non-MVP -- remove it. If no, the step is critical -- confirm it.
  • Write down three real non-goals (features you want but will not build). If they do not exist, invent them now.

Deliverables that become part of the capstone:

  • Final problem statement paragraph in library/raw/problem.md.
  • 5-row risk register in library/raw/risks.md with top 3 marked architecturally significant.
  • MVP definition in library/raw/mvp.md with ≥5 explicit non-goals.

Lane 2: Domain Artifacts (aligned with Cluster 2)

Use this lane when your capstone's domain is unclear even to you.

Exercises:

  • Run a second EventStorming pass a day after the first. Compare. Events you forgot to add the first time are the ones you understand least.
  • Take each EventStorming cluster and write the bounded-context invariant in one sentence: "inside this context, X is always true." If you cannot, the boundary is wrong.
  • List every noun in your code so far. Compare to your glossary. Synonyms in the code but not the glossary are drift; synonyms in the glossary but not the code are aspirational.
  • For each subdomain you marked generic, do the build-vs-buy decision in writing. "Buy" with no managed service named is not a decision.
  • For your core subdomain, write one invariant you want the core's tests to enforce. This becomes a unit test in Module 2.

Deliverables:

  • library/raw/domain/eventstorm.md with ≥20 events and hot-spot markers.
  • library/raw/domain/subdomains.md with core / supporting / generic classification and build-vs-buy per row.
  • library/raw/glossary.md with ≥10 entries, each with "forbidden synonyms."

Lane 3: Architectural Decision Artifacts (aligned with Cluster 3)

Use this lane when your design doc still says "TODO" under Architecture on day 4 of week 1.

Exercises:

  • Pick a random Neal Ford Architectural Kata. Apply the top-3 characteristics exercise to it. Time-box 5 minutes. Do this 3 times across 3 different katas.
  • Write your three-alternatives passage. Then swap two of the pros and cons. Does the decision flip? If yes, your justification was fragile -- rewrite the decision anchored on something more stable.
  • Implement your second fitness function, not just the first. The second is the one that proves fitness functions are your default, not a one-off.
  • Find one characteristic in your list you are not confident about and ask: "what would change if I demoted it from driver to supported?" If the answer is "nothing in my design," it was never a driver.
  • Read one pattern from Patterns of Distributed Systems. Then close the page and ask: does my capstone need this? The answer is almost always no, and the exercise sharpens "no."

Deliverables:

  • library/raw/architecture/characteristics.md with Drivers / Supported / Non-goals split.
  • library/raw/architecture/style.md three-alternatives passage (or in the design doc).
  • At least 2 fitness functions committed under tests/arch/ or equivalent.

Lane 4: Communication & Planning Artifacts (aligned with Clusters 4 and 5)

Use this lane when the design doc exists but cannot be read cold by a stranger, or when the schedule is implicit.

Exercises:

  • Cold-read your own design doc 48 hours after writing it. Mark every sentence you wrote that you no longer understand. Rewrite those sentences.
  • Hand your design doc to someone who is not in your degree program. Ask them to explain your capstone back to you. Every gap in their explanation is a gap in the doc.
  • Redraw your C4 Level 2 and 3 diagrams on paper, from memory, without opening the repo. Diffs reveal gaps in your mental model.
  • Do the 5-minute defense cold, today, into a voice recorder. Listen back once. Fix the one worst sentence.
  • Answer 3 random anticipated questions from library/raw/defense.md cold. If you fumble on any, go sharpen the underlying artifact today, not next week.
  • Write your scope-cut rules list. Include at least 5 specific cuts and a "never cut" row. Each cut has a specific condition.
  • Every Friday: do the 20-minute Friday review. Compare planned to actual. Write one journal entry.

Deliverables:

  • library/raw/design-doc.md with all 12 sections non-empty.
  • library/raw/adr/ with ADR-001, 002, 003 written in Nygard form.
  • Three Mermaid C4 diagrams in the design doc (Context, Container, Component).
  • library/raw/defense.md with 10 anticipated questions and answers.
  • library/raw/scope-cuts.md (or equivalent section) with 5+ cut rows.
  • First Friday-review journal entry.

Completion Checklist

  • All four lanes' deliverables exist in the capstone repo by end of week 1.
  • Mistake log has at least 6 tagged entries across the lanes.
  • You have given the 5-minute defense out loud, cold, at least twice.
  • You have answered ≥8 of 10 anticipated questions from memory.
  • You have invoked one scope cut or deliberately rehearsed invoking one (to verify the rule is real).