Foundations of Software Architecture

Module 3

Architecture Thinking

How to reason about a decision: analysing trade-offs, making quality attributes measurable, deciding under uncertainty, and doing all three on one real problem.

53 min4 lessons
Start module

What you will be able to do

  • Run a structured trade-off analysis instead of arguing from preference.
  • Turn a vague quality goal into a scenario and an automated fitness function.
  • Decide under uncertainty using reversibility and the last responsible moment.
  • Carry a real decision from constraints through to a recorded rationale.
  1. 01Trade-off Analysis: There Is No Best, Only Fit

    A repeatable method for comparing options that does not collapse into whoever argues most confidently.

  2. 02Quality Attribute Scenarios and Fitness Functions

    Turning "it should be maintainable" into something a build can check. This is how architecture stops degrading the moment you look away.

  3. 03Deciding Under Uncertainty

    You will never have enough information. Reversibility, the last responsible moment, and keeping options open are how you decide anyway.

  4. 04A Complete Worked Decision

    Every technique in the chapter applied end to end to one real problem: choosing how a booking platform stores and queries availability.

Architecture Thinking

8 questions · pass at 70%

Architecture Thinking · Architecture Atlas