Skip to main content

Module 1: Domain Analysis & Architecture Design: Worked Examples

Example 1: Cut Scope Around a Risky Vertical Slice

Problem. “Build a restaurant platform” includes reservations, ordering, kitchen flow, payment, inventory, analytics, and staff scheduling.

Wrong attempt. Implement shallow CRUD for every noun. Breadth hides whether any workflow is coherent.

Correct reasoning. Choose one end-to-end slice: staff accepts a reservation, seats the party, submits an order, kitchen advances status, and payment closes the table. Rank risks—concurrent table assignment, kitchen-state transitions, and payment idempotency—and schedule the scariest proof first. Explicitly defer inventory and analytics.

Example 2: Derive Architecture From Characteristics

For a six-week single-engineer capstone, deployability, testability, operability, and delivery risk dominate independent scaling. A modular monolith with asynchronous jobs can better fit than microservices. Record the rejected alternative and the trigger that would justify extraction later.

Example 3: Write an ADR That Can Be Revisited

Choose a datastore using access patterns, consistency needs, operational skill, backup/recovery, and migration cost. Attach a spike or query plan. State consequences and a review trigger rather than declaring the technology universally best.

Completion Standard

  • Deliver a bounded MVP, risk register, context/domain model, quality scenarios, architecture views, and three evidence-backed ADRs.