How to Master Software Architecture & SDLC
Mastery is not naming seventeen patterns in an interview. Reading a cheatsheet does not mean you have mastered software architecture or the SDLC. Mastery means you can elicit requirements, choose a process model that fits risk and regulation, select a structural style that matches constraints, document the decision, and revise it when production evidence contradicts the bet.
For a human developer or architect, mastery means shipping systems whose change cost stays local, whose quality attributes are measurable, and whose delivery process learns faster than competitors copy features.
For an AI agent or language model, mastery means generating architecture advice that cites requirements, proposes ADRs with alternatives, refuses pattern tourism, and self-verifies with checklists β not pasting a microservices diagram for every CRUD app.
info
Use this outcomes table as the definition of done for the curriculum.
| Outcome | Human proof | AI agent proof |
|---|---|---|
| Requirements literacy | Writes FR + NFR with acceptance tests | Separates FR/NFR; rejects vague 'scalable' |
| Process fit | Chooses Waterfall/Agile/Kanban with rationale | Maps constraints β process model |
| Style selection | Picks monolith vs services from drivers | Decision table citing team + NFRs |
| Documentation | Writes ADR + C4 context/container | Produces ADR with options & consequences |
| Evolution | Plans extraction/migration with fitness checks | Proposes incremental path, not big bang |
| Delivery | Ties architecture to CI gates & SLOs | Includes observability & rollback in design |
Goal: understand what work must happen and what drives structural decisions before studying patterns.
- Read section landing and SDLC phases.
- Deep study: Requirements engineering β MoSCoW, INVEST, quality attributes.
- Exercise: take a familiar product and write 5 functional + 5 NFR statements with measurable acceptance.
- Checkpoint: explain why architecture without requirements is cargo cult.
Human checkpoint
Produce a one-page PRD excerpt: problem, users, FR list, NFR table with metrics, MoSCoW priorities, open questions.
Agent checkpoint
Given a fuzzy prompt ('build Uber for pets'), ask clarifying questions, then output FR/NFR tables and refuse to recommend microservices without drivers.
Goal: choose how the team flows work under different risk and feedback conditions.
- Waterfall β fixed requirements, regulated delivery, phase gates.
- Agile / Scrum β values, roles, events, Definition of Done.
- Kanban β WIP limits, flow metrics, vs Scrum.
- DevOps β CALMS, shift-left, continuous delivery, platforms.
| Scenario | Prefer | Why |
|---|---|---|
| Medical device firmware, audited | Waterfall-ish + gated Agile | Traceability and change control |
| B2B SaaS, weekly learning | Scrum or Kanban + DevOps | Feedback and release safety |
| SRE ticket queue | Kanban | Uneven arrival, flow optimization |
| Platform team serving many apps | Kanban + DevOps platform | Throughput and self-service |
note
Goal: structure one deployable unit well before distributing it.
- Modular monolith β module boundaries, anti-patterns, extraction path.
- Layered / N-tier β dependency rules, when it helps or hurts.
- Hexagonal / Clean β ports, adapters, dependency inversion, project sketches.
Human checkpoint
Draw module map for an existing app; mark illegal dependencies; propose one ADR to enforce a boundary.
Agent checkpoint
Generate a Node or Python folder sketch for hexagonal layout with domain pure of framework imports; list adapters.
| 1 | [ ] Domain modules have no imports from UI frameworks |
| 2 | [ ] Database access goes through explicit repositories/ports |
| 3 | [ ] Cross-module calls use public APIs, not shared tables |
| 4 | [ ] Fitness test fails CI when layering rules break |
| 5 | [ ] ADR exists for "modular monolith first" |
Goal: know when distribution earns its operational tax β and when it does not.
- Microservices β bounded contexts, data ownership, when NOT to use.
- Event-driven β events vs commands, brokers, eventual consistency.
- CQRS & event sourcing β divergent models, complexity cost.
- Serverless β cold starts, cost model, fit/limits.
warning
| You need⦠| Consider | Cost you accept |
|---|---|---|
| Team autonomy + independent deploy | Microservices | Distributed transactions, ops load |
| Fan-out & temporal decoupling | EDA | Eventual consistency, replay design |
| Audit + rebuild read models | ES / CQRS | Versioning, cognitive load |
| Spiky traffic, minimal servers | Serverless | Cold start, vendor limits |
Goal: make and document decisions under incomplete information; evolve with evidence.
- Choosing guide β decision tables for architecture + SDLC.
- Best practices β ADRs, C4, evolutionary architecture, fitness functions.
Human checkpoint
Write ADR-0001 for a real or simulated system: context, options (β₯3), decision, consequences, linked requirements.
Agent checkpoint
Given conflicting stakeholder quotes, produce a decision table and recommend one architecture + one SDLC with explicit risks.
Use these prompts after each stage. Humans answer in writing; agents generate artifacts then critique.
- List five NFRs for a payments API and the architectural implications of each.
- When would you recommend Waterfall over Scrum for a web product? Defend both sides.
- Sketch C4 Context and Container for a modular monolith e-commerce app.
- A startup with 4 engineers asks for microservices. What do you ask first?
- Write a Definition of Done that includes architecture fitness checks.
- Explain eventual consistency to a product manager using a checkout example.
You (or an agent) have mastered this curriculum when you can:
- Elicit and prioritize requirements with measurable acceptance criteria.
- Select and justify an SDLC model for a given risk/compliance/speed profile.
- Select and justify a structural style with a written ADR.
- Propose an evolutionary path (monolith β modules β selective extraction) instead of a rewrite.
- Tie architecture to delivery: CI fitness functions, SLOs, rollback, observability.
- Refuse fashionable patterns that lack requirement drivers.
pro tip
Humans: plan 6β10 weeks of part-time study with hands-on ADRs on a real or sandbox system. Agents: traverse stages sequentially via markdown API; do not skip checkpoints.
| Stage | Human time | Agent focus |
|---|---|---|
| 1 Foundations | 8β12 hours | FR/NFR extraction + clarification questions |
| 2 Process models | 6β8 hours | Constraint β process mapping |
| 3 Single-deployable | 10β14 hours | Module map + hexagonal sketch |
| 4 Distributed | 10β14 hours | When-not-to-use arguments |
| 5 Decision craft | 6β8 hours | Full ADR + decision tables |
- Reading only pattern names and claiming fluency.
- Jumping to microservices before completing modular monolith exercises.
- Treating Scrum events as the goal instead of learning rate and Done increments.
- Writing ADRs that list only the chosen option with no alternatives.
- Ignoring NFRs until a load test fails in production.
danger
You do not need enterprise architecture tools to practice. Use:
- Markdown ADRs in repo (docs/adr/NNNN-title.md).
- C4 as text or simple diagrams (Structurizr, Mermaid, Excalidraw).
- Dependency cruiser or import linters as fitness functions.
- A disposable side project to apply modular monolith β optional extraction.
| 1 | # ADR-NNNN: Title |
| 2 | |
| 3 | ## Status |
| 4 | Proposed | Accepted | Superseded |
| 5 | |
| 6 | ## Context |
| 7 | Requirements and forces (link NFR ids). |
| 8 | |
| 9 | ## Options |
| 10 | 1. Option A β pros/cons |
| 11 | 2. Option B β pros/cons |
| 12 | 3. Option C β pros/cons |
| 13 | |
| 14 | ## Decision |
| 15 | Chosen option and why. |
| 16 | |
| 17 | ## Consequences |
| 18 | Positive, negative, follow-up work. |
Community
Get help on Slack, Discord or VIP
Stuck on a guide? Join the community and ask.