skip to content

4+1 and C4 are both viewpoint sets. When would you extend or replace them with additional views, and what governs adding a new view to your organisation's standard set?

level: principalimportance: nice to knowfreq 18%

answer

  1. 4+1 / C4 / Rozanski-Woods = menus, not mandates
  2. C4 has no concurrency view; both weak on operational + information
  3. Prefer perspective (annotate) over a new view
  4. New view needs stakeholders, notation, correspondences, owner
  5. Coverage of concerns, not conformance to a checklist

basics

~20 s

Add a view only when a real stakeholder concern is unanswered by the existing set and cannot be answered by annotating an existing view — for example data residency, concurrency in a real-time system, or a safety case. Otherwise standardise and keep the set small.

solid answer

~50 s

Treat 4+1 and C4 as pre-packaged viewpoint sets, not as the definition of architecture description. Extend when a concern is (a) genuinely unanswered — C4 has no first-class concurrency view, neither model covers information ownership, residency or regulatory evidence well; (b) high-risk for this domain — real-time control, safety-critical, regulated data, cost-dominated systems; and (c) not better handled as a **cross-cutting perspective** annotated onto existing views, which is usually the right answer for security, performance and evolvability. To add a view to a standard set, define it as a proper viewpoint: stakeholders, concerns framed, model kinds and notation, construction and consistency rules, correspondences to existing views, owner and update triggers. Then weigh the standing maintenance cost against the risk it retires, and prefer generating or making it executable. Standardising notation across teams buys comparability and reviewability; every extra mandated view multiplies that cost across every team.

go deeper

for a junior

It is enough to know 4+1 and C4 are frameworks you pick from, not rules, and that you add a diagram when someone has a question the current ones do not answer.

for a middle

Name a concrete gap (C4 has no concurrency view; neither covers operations or data lifecycle) and say you would add a view only for a real stakeholder need.

for a senior

Give the decision procedure: named stakeholder and concern, try annotation/perspective first, weigh domain risk, prefer generated or executable artefacts, and define correspondences to existing views.

for a principal

Add the organisational economics and governance: standard notation for comparability, coverage-not-conformance reviews with recorded gaps, ownership and refresh triggers, retiring unread views, when to replace the base set wholesale (safety-critical, data platforms, ML), and ADRs as the separate immutable rationale record.

## Framing: the named models are menus Kruchten's **4+1** (logical, process, development, physical, + scenarios) and Simon Brown's **C4** (context, container, component, code, plus deployment/dynamic/landscape) are both, in ISO/IEC/IEEE 42010 vocabulary, **viewpoint sets** — reusable conventions chosen because they cover the concerns most systems have. Neither claims completeness. A third widely used catalogue, **Rozanski & Woods**, is explicit about this: it defines six viewpoints (functional, information, concurrency, development, deployment, operational) *and* a separate orthogonal concept, **perspectives** — security, performance and scalability, availability and resilience, evolution, accessibility, regulation — applied *across* views rather than drawn as views. The principal-level skill is knowing which mechanism to reach for, and knowing that every artefact you standardise on becomes a permanent tax on every team. ## What each popular set leaves uncovered | Concern | 4+1 | C4 | |---|---|---| | Runtime concurrency, threads, queues, backpressure | Process view | **Not covered** (dynamic diagrams show flows, not concurrency structure) | | Deployment topology | Physical view | Deployment diagram | | Source/module dependency rules | Development view | Component (partially) | | Information: ownership, lifecycle, residency, retention | **Weak** | **Weak** | | Operational: monitoring, backup, upgrade, runbooks | **Not covered** | **Not covered** (Rozanski & Woods' operational viewpoint fills this) | | Cost / capacity economics | Not covered | Not covered | | Regulatory / safety evidence | Not covered | Not covered | | Rationale for decisions | Not covered | Not covered (use ADRs) | The two "not covered" rows that bite most often in practice are **operational** (who gets paged, how it is backed up, how it is upgraded without downtime) and **information** (who owns which data, where it may legally reside, how long it is kept). ## The decision procedure for adding a view **1. Is there an unanswered concern with a named stakeholder?** No named stakeholder, no view. "It would be nice to have" is not a concern. **2. Can an existing view answer it with annotation instead?** This is the most-skipped step and usually the right answer. Trust boundaries and data classification annotated onto the container and deployment views serve security better than a standalone "security diagram", which typically re-draws the same boxes while answering nothing new. Same for latency budgets on a dynamic diagram, or cost drivers on a deployment diagram. Prefer **perspective over new view**. **3. Is the concern's risk material in this domain?** A hard-real-time controller genuinely needs a concurrency view; a CRUD web app does not. A system holding EU personal data across regions needs a data-residency view; an internal reporting tool does not. Domain risk, not fashion, justifies the addition. **4. Can it be executable or generated rather than drawn?** A dependency rule is better as a fitness function (ArchUnit, dependency-cruiser) than a picture. A deployment view is better generated from infrastructure-as-code. An interaction map is better generated from tracing. Executable and generated artefacts do not drift, so their long-run cost is far lower. **5. Define it properly as a viewpoint, or don't add it.** A standardised addition must specify: stakeholders addressed; concerns framed; model kinds and notation; construction guidance; **correspondence rules** linking it to existing views ("every data store in the information view maps to a container"); analysis/review checklist; owner; update triggers. **6. Price the standing cost.** One extra mandated view across forty teams is forty artefacts to author, review, and keep current forever. Compare that against the risk it retires. Many additions should be *optional and situational* rather than mandatory — a catalogue teams draw from when the concern applies, not a checklist everyone completes. ## Replace versus extend **Extend** is the normal case. **Replace** the base set only when the domain's dominant concerns are structurally different from general enterprise software: - **Embedded / safety-critical**: hazard analysis, timing/schedulability and traceability-to-requirements views dominate; general-purpose sets under-serve them and standards (for example the automotive and aviation processes) effectively mandate their own. - **Data platforms**: lineage, ownership, schema evolution and residency dominate; a container diagram is almost incidental. - **ML systems**: training-versus-serving topology, data and feature lineage, model versioning and rollback are the real risks and appear in none of the classic sets. ## Governance considerations at organisation scale - **House notation buys comparability.** If every team draws C4 with the same legend conventions, a reviewer can read any team's diagram cold, and tooling can be shared. That comparability is often worth more than any individual view's content. - **Coverage, not conformance, is the goal.** The review question is "is every material concern framed by some view or perspective?", not "did you produce all five diagrams?" Explicitly listed gaps are acceptable; invisible ones are not. - **Rationale is separate and immutable.** ADRs record context, decision, alternatives and consequences; superseded ones are marked, not deleted. Views show *what*, ADRs show *why*, and only the latter survives a structural rewrite. - **Sunset views too.** Adding is easy and removing is rare; schedule a periodic check for artefacts with no readers and retire them. A view nobody reads still costs review time and still misleads when stale. - **Beware the checklist reflex.** The moment a viewpoint set becomes an audit checklist, teams produce artefacts to pass the audit rather than to answer questions, and the whole set loses credibility.

  • A security team asks for a dedicated security view in the standard set. How do you respond?
    Push back toward a perspective first: annotate trust boundaries, data classification and authentication paths onto the existing container and deployment views, and walk an authentication and a breach-containment scenario. Add a separate view only for something genuinely not expressible there — for example a data-residency or evidence view demanded by a regulator — and define it with proper correspondence rules to the existing views.
  • Which concerns do both 4+1 and C4 handle poorly?
    Operational concerns (monitoring, alerting, backup, upgrade and rollback procedures) and information concerns (data ownership, lifecycle, residency, retention). Rozanski & Woods add explicit operational and information viewpoints precisely because of this gap. Neither model covers cost, regulatory evidence, or decision rationale — the last belongs in ADRs.
  • How do you decide to retire a view from the standard set?
    Check readership and use: does anyone open it, and has it informed a decision or an incident response in the last year? If not, and it has drifted, retire it. Removal is as much a governance act as addition, and unread stale artefacts actively mislead.

Like adding a new mandatory field to a form used by every department: trivial for the person proposing it, permanently expensive for everyone filling it in. You add it only when a real decision depends on the answer, and you delete fields nobody reads.

saying these in an interview costs you the question

  • Treating 4+1 or C4 as a complete, mandatory checklist
  • Adding a new view for a concern that is better served by annotating existing views
  • Adding a security or performance 'view' that simply re-draws the same boxes
  • Ignoring the organisation-wide standing maintenance cost of a mandated artefact
  • Adding views without correspondence rules, owners or update triggers
  • Never retiring views; the set only ever grows
  • Expecting diagrams to carry decision rationale instead of keeping ADRs

context