7.1 The arc42 Template
arc42 is the de-facto standard template for architecture documentation, recommended by iSAQB and widely used in Europe and beyond. It provides a proven structure of 12 sections that covers everything from goals to deployment to risks.
The beauty of arc42 is that you don't have to fill every section for every project. Use what's relevant. A small project might only need sections 1, 3, 5, and 8. A complex enterprise system might use all 12 in depth.
7.2 Architecture Decision Records (ADRs)
An ADR captures a single architecturally significant decision — the context, the decision itself, and its consequences. ADRs are one of the most valuable documentation practices because they capture why a decision was made, not just what was decided.
Without ADRs, future team members (including future-you) will encounter code or architecture choices and wonder "why was this done this way?" — and may change it, breaking things that were working for good reasons.
| Section | Content |
|---|---|
| Title | Short descriptive name: "ADR-007: Use PostgreSQL for the Order Service" |
| Status | Proposed → Accepted → Deprecated → Superseded by ADR-XXX |
| Context | The situation and forces at play. What problem needs solving? What constraints exist? |
| Decision | What was decided, stated clearly and concisely. |
| Consequences | Both positive and negative outcomes of this decision. Be honest about trade-offs. |
| Alternatives | What other options were considered and why they were rejected. |
7.3 Notations — UML and Beyond
The iSAQB curriculum emphasizes that UML is not mandatory. What matters is that your notation is consistent and includes a legend. That said, you should understand the most common UML diagram types.
Key UML Diagram Types
| Diagram | Type | Shows | When to Use |
|---|---|---|---|
| Component | Structural | Components, interfaces, dependencies | Building block view |
| Deployment | Structural | Nodes, artifacts, infrastructure | Deployment view |
| Sequence | Behavioral | Object interactions over time | Runtime view — most common |
| Class | Structural | Classes, attributes, relationships | Detailed design of critical components |
| Activity | Behavioral | Workflow / process flow | Complex business processes |
| Use Case | Behavioral | System features from user perspective | Requirements overview |
Key UML Relationships
Documentation Anti-Patterns
- "The Shelfware" — A 200-page Word document that was written once and never read. Nobody knows if it's still accurate.
- "The Absence" — No documentation at all. Knowledge lives only in people's heads — and they leave.
- "The Screenshot Graveyard" — Paste screenshots of code and call it documentation. Outdated the moment it's created.
- "Over-documentation" — Documenting obvious things while ignoring important decisions. If the code already says it clearly, don't document it.
The sweet spot: Document decisions (why), constraints (what you can't change), interfaces (how things connect), and risks (what might go wrong). Skip obvious implementation details.