methodatlas
RunsheetArchitecture

arc42

ComplexityLow
Time1-2 Tage
Participants1-4
FormatWorkshop + async
MaturityCanonical
01

Prerequisite

What needs to be finished first

Complete firstStakeholder identificationnot in catalog

A list of the actual readers of the doc (architects, new team members, auditors, ops) with their information needs is available.

Without: Without reader clarity, arc42 becomes either a complete collection or a marketing slide and reaches nobody.
Complete firstExisting ADRs

Important architecture decisions are documented as ADRs or are being captured in parallel so that chapter 9 (decisions) can link to them.

Without: Without ADR linking, chapter 9 becomes narrative justification that nobody will understand six months later.
02

Preparation

What needs to be ready before start

Materials

arc42 template (Markdown version of arc42/arc42-template on GitHub); diagram tool (PlantUML, Structurizr, draw.io); repo directory `docs/architecture/`; glossary file; links to the ADR directory and possibly C4 diagrams.

People / roles

One main author, often an architect or tech lead, as owner; one to three reviewers from Engineering and Ops; optional stakeholder from Business for chapter 1 (goals).

Pre-read

Current system overview; list of external interfaces; known quality goals, ideally from a Quality Attribute Workshop; constraints (regulatory, technical, organizational); existing diagrams.

Time needed

1-2 days initial, then 1-2 h maintenance per sprint

Setup

Clone the template repository and store it in `docs/architecture/` as a Markdown structure. Use separate files for chapters 1-12 or one combined file. Define a diagram inclusion convention, for example PlantUML in the repo, rendered during the build.

03

Core question

The one question this method answers

Which architecture decisions, structures, and quality attributes does the reader need in order to understand, operate, and evolve the system?

04

Flow

Marker: Sektion

StepDurationActionHint
1Chapter 1-2: Introduction, goals, constraints
2-3 hDescribe the problem in 5-10 sentences. List three to five quality goals in prioritized order. Add a stakeholder table with information needs. Include constraints (technical, organizational, conventional).Quality goals must be prioritized. Anyone who marks all quality attributes as important has no decision basis and the document becomes arbitrary.
2Chapter 3-4: Context and solution strategy
3-4 hDocument business context and technical context as a diagram plus table. Summarize the solution strategy (architecture approach, top-level decisions, frameworks) in 1-2 pages.Chapter 4 is NOT detailed design, but the short answer to how the system is built. More than 2 pages is too much and belongs in chapter 5.
3Chapter 5: Building block view
3-5 hCreate a white-box view in 2-3 levels (C4 container, C4 component). For each block, add responsibility, interfaces, and fulfilled requirements. No code classes.Not every block needs a white-box view. Only the ones with complexity or risk. Otherwise the document explodes and nobody keeps reading.
4Chapter 6-7: Runtime view and deployment view
3-4 hRuntime: 3-5 important scenarios as sequence diagrams. Deployment: hardware or cloud topology with nodes, networks, and deployment units.Choose scenarios that make architecture decisions visible (failover, scaling, critical paths). The happy-path sequence is secondary.
5Chapter 8-9: Cross-cutting concerns and decisions
2-3 hCross-cutting concepts (security, logging, error handling, persistence). Architecture decisions as a list with ADR links and a short rationale.Make concepts concrete, not generic. 'Logging via ELK with trace ID correlation' is better than 'logging is important'.
6Chapter 10-12: Quality, risks, glossary
2-3 hQuality scenarios, ideally from QAW, in a table. Technical risks and debt with owner and escalation status. Glossary with domain and tech terms.Name risks openly. An arc42 doc without a risks chapter is marketing material, not an architecture document.
05

Artifact

What comes out at the end

Form

Markdown directory under `docs/architecture/` with 12 chapter files, embedded diagrams (PlantUML or rendered SVG), links to ADRs, glossary, and test plans. Rendered in CI and deployable as HTML.

Versioning / ownership

Docs are versioned in the same repo as the code. Changes go through pull requests with an architecture reviewer. Doc releases are tied to system releases (tag), so each code version has matching docs.

Tool alternatives
  • Markdown in the repo with MkDocs or Docusaurus
  • Confluence space with arc42 template
  • AsciiDoc with asciidoctor and PlantUML
  • Structurizr DSL as code source for diagrams
  • Antora for versioned HTML docs

arc42-working-template.md

Compact working template for arc42 with context, input, output artifacts, and next step.

arc42 Working Template

Goal

Pragmatic template for structured, living software architecture documentation.

Context

When and for what do we use this method?

Input

Which data, observations, decisions, or materials are available?

Execution

Short notes along the runsheet.

Output artifacts

  • Architecture Document:
  • Context View:
  • Runtime View:
  • Deployment View:

Assumptions and open questions

  • ...

Decision / Next step

Owner, date, and success signal.

06

Example output

Concrete filled scenario, fictional example

arc42-beispiel.md

Concrete filled scenario, fictional example

arc42 - Order Fulfillment Platform (v3.2, status 2026-05-18)

1. Introduction and goals

Processes orders from web and mobile, from intake through delivery to external carriers. Top 3 quality goals:

  1. Availability (99.95% measured monthly)
  2. Processing latency (P95 below 800 ms from order submit to confirmation)
  3. Auditability (every status change traceable for 7 years)

4. Solution strategy

Event-driven via Kafka. 8 bounded contexts as microservices, languages Java 21 and Kotlin. Persistence: Postgres per service. Deployed on AWS EKS in eu-central-1 with multi-AZ.

9. Architecture decisions (excerpt)

  • ADR-0023: PostgreSQL instead of MongoDB for Order Service (status: accepted, 2025-11-12)
  • ADR-0031: Outbox pattern for eventual consistency (accepted, 2026-02-03)
  • ADR-0044: No service mesh, direct mTLS (accepted, 2026-04-19)

11. Risks and debt

  • R-04: TaxService is a single point of failure (escalation to CTO, fix Q3/2026)
  • R-09: Postgres cluster runs on v14, EOL 2026-11. Migration plan in progress.
07

Pitfalls

Recognize symptoms and steer against them

Trap

Completeness over readability

Symptom

All 12 chapters are filled, each more than 10 pages long. Nobody reads beyond the introduction.

What to do

Leave chapters out if they contain nothing substantial. Better 6 good chapters than 12 empty ones. Treat arc42 explicitly as opt-in per chapter.

Trap

Diagrams as images without source

Symptom

PNG or JPG diagrams in the repo, without PlantUML or Structurizr source. Changes require the original tool.

What to do

Keep diagrams as text source (PlantUML, Mermaid, Structurizr DSL) in the repo and render them during the build. Otherwise images go stale quickly and are not updated.

Trap

Quality goals without scenarios

Symptom

Chapter 1 lists availability and performance as goals, without measurable definition.

What to do

Add one scenario per quality goal in chapter 10 with stimulus, response, and measure. Otherwise no evaluation is possible.

Trap

Static docs

Symptom

The arc42 doc was last changed 9 months ago, while the system has had 3 releases since then.

What to do

Make doc maintenance part of the definition of done. Add a doc update slot per sprint. For big releases, make a doc review an acceptance criterion.

Trap

Chapter 9 without ADR links

Symptom

The decisions chapter contains narrative paragraphs, but no links to ADRs.

What to do

Turn chapter 9 into a list with title and ADR link. The rationale lives in the ADR, not in arc42. Otherwise there are two competing truths.

08

Stop criteria

Done signals checkable in under a minute

No owner is named for the docs, so maintenance is assigned to nobody.
Stakeholders and information needs are unclear, so the doc goal cannot be defined.
No architecture decisions exist or can be documented, so chapter 9 would stay empty.
The system is trivial (CRUD app, few components), so arc42 would be overkill and overdocumentation.
The docs are created outside the code repo, so drift is guaranteed.
Diagram tooling is not fixed, so diagrams are created as screenshots without versioning.

Finished the runsheet?

Go to the profile for purpose, similar methods, and sources or continue to the next method in the catalog.