Software Engineering Architecture Lab

Level 7: Software Architecture

Identify the characteristics that matter, compare styles by their trade-offs, and record decisions so others understand why.

Outcome: Identify the characteristics that matter, compare styles by their trade-offs, and record decisions so others understand why.

ShopFlow now has four teams in one codebase. Architecture is the set of decisions that are hard to change — so we learn to name characteristics, compare styles, measure coupling and write decisions down.

The pressure on ShopFlow: Twenty engineers, one deployable, constant merge conflicts and fear of releasing.

Lessons in level 7

  1. What Architecture Really Is (and Isn’t) — Structure, characteristics, decisions and principles — and why “it depends” is the honest answer.
  2. Architecture Characteristics: The -ilities Under Pressure — Availability, scalability, performance, deployability… identified from real business scenarios.
  3. Architecture Styles and Their Trade-offs — Layered, modular monolith, microkernel, event-driven, space-based and microservices compared.
  4. The Modular Monolith — Strong module boundaries in one deployable — the most underrated architecture.
  5. Coupling, Connascence & Architecture Quanta — Measure how parts depend on each other, statically and at runtime.
  6. Architecture Decision Records — Write down context, decision and consequences so the “why” survives.
  7. Trade-off Analysis: Thinking Like an Architect — A repeatable way to compare options when there is no right answer.

Source books

Other levels