methodatlas
RunsheetArchitecture

Software Architecture Canvas

ComplexityLow
Time1-2 h
Participants3-10
FormatWorkshop
MaturityEstablished
01

Prerequisite

What needs to be finished first

An Architecture Inception Canvas or comparable inception artifact exists, so goals, stakeholders and constraints are known.

Without: Without inception, context is missing, the canvas starts from zero and produces superficial entries.

Top quality attributes and scenarios are elaborated, so the canvas can build on them.

Without: Without QA scenarios, architecture decisions are not calibrated against concrete requirements.
02

Preparation

What needs to be ready before start

Materials

Whiteboard or Miro with canvas fields (context, goals, stakeholders, quality attributes, components, interfaces, data model, cross-cutting concerns, decisions, risks, roadmap); stickies; ADR template.

People / roles

One architect as owner; 3-5 participants from engineering, operations, product, security; scribe; decider for critical decisions.

Pre-read

Inception Canvas, QA scenarios, existing system landscape, technology stack, known decisions from previous projects, budget and timeframe.

Time needed

1 day (6-8 h)

Setup

Canvas fields large and visible. Plan 30-45 min per field. Rule: every entry contributes to the architecture statement, no completeness theater.

03

Core question

The one question this method answers

Which components, interfaces, decisions and cross-cutting concerns together form a consistent architecture that satisfies the quality attribute scenarios?

04

Flow

Marker: Sektion

StepDurationActionHint
1Section 1: Context and goals
30 minTake from inception: system purpose, goals, top stakeholders, boundary. Update if state has changed.If much has changed since inception, update inception first. Otherwise canvas fields build on outdated assumptions.
2Section 2: Quality attributes and trade-offs
45 minTake top scenarios from QAW. Identify potential trade-offs per scenario (for example performance vs. consistency).Make trade-offs explicit. Without them, architecture looks like a free solution, which it is not.
3Section 3: Components and interfaces
90 minIdentify main components (5-12). Per component: responsibility, technology, communication pattern (synchronous, asynchronous). Make interfaces explicit.If more than 15 components appear, granularity is too fine. Strategic view, not microservice collection.
4Section 4: Data model and persistence
60 minSketch main entities and data flows. Per datastore: persistence pattern (relational, document-based, event store). Ownership per data domain.Shared database between components is a common anti-pattern. If unavoidable, mark explicitly as risk.
5Section 5: Cross-cutting concerns
60 minAuthentication, authorization, observability, logging, configuration, tracing, resilience patterns. For each concern, solution approach and owner.Addressing cross-cutting too late is more expensive than from the start. Decide at least auth, logging and tracing.
6Section 6: Decisions, risks, roadmap
60 minTop 5 architecture decisions as ADR stubs. Top 5 risks with mitigation. Roadmap with phases (for example MVP, scaling, internationalization).Roadmap not too detailed. Main phases with quarterly granularity, details come from sprints.
05

Artifact

What comes out at the end

Form

Software Architecture Canvas with all sections, filled with bullet points, diagrams (C4-light), tables. Complemented by ADRs, risk register and roadmap. Overall 5-15 pages depending on depth.

Versioning / ownership

Canvas with date and version. Changes linked to ADRs. For larger changes, new entry with diff to previous period. Quarterly review.

Tool alternatives
  • Miro with canvas template
  • Markdown in docs/architecture folder with diagrams
  • Confluence space with canvas template
  • Structurizr for C4 diagrams in the canvas
  • draw.io or Lucidchart for component diagrams

software-architecture-canvas-working-template.md

Compact working template for the Software Architecture Canvas with system scope, constraints, quality attributes, and next step.

Software Architecture Canvas Working Template

Goal

Capture the system, its goals, constraints, quality attributes, and open decisions in one place.

Context

When and for what do we use this method?

Input

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

Working area

  • System and scope:
  • Goals:
  • Constraints:
  • Quality attributes:
  • Key building blocks:
  • Open decisions and questions:

Output artifacts

  • Architecture canvas:
  • Constraint list:
  • Decision log:

Assumptions and open questions

  • ...

Decision / next step

Owner, date, and success signal.

06

Example output

Concrete filled scenario, fictional example

software-architecture-canvas-beispiel.md

Concrete filled scenario, fictional example

Software Architecture Canvas - Booking API v2 Workspot, May 2026

Context: Booking API as core service for Workspot web/mobile and partner integrations.

Goals: 5x volume, p95 under 600 ms, partner onboarding in 5 person-days.

Top QA scenarios

  • QAS-01 Performance, QAS-02 Availability, QAS-03 Security (see QAW report).

Main components

  • Booking Service (domain core, Kotlin Spring).
  • Inventory Service (existing, REST).
  • Identity Service (existing, OAuth2 provider).
  • Notification Service (asynchronous via Kafka).
  • Partner Gateway (REST with OAuth2 client credentials).
  • Internal GraphQL Gateway (Apollo Server).

Interfaces

  • Partner Gateway -> Booking Service: REST/JSON.
  • Internal GraphQL -> Booking Service: gRPC.
  • Booking Service -> Notification Service: Kafka topic bookings.events.

Data model and persistence

  • Booking Aggregate: Postgres (relational, transactional).
  • Booking Events: Kafka with 7 d retention plus EventStore archive in S3.
  • Read Models: Redis cache for availability (TTL 60 s).

Cross-cutting concerns

  • AuthZ: OAuth2 scopes, documented per interface.
  • Observability: OpenTelemetry with Datadog backend.
  • Resilience: Circuit breaker (Resilience4j), retry with backoff, bulkheads per downstream.
  • Configuration: AWS Parameter Store, feature flags via LaunchDarkly.

Top decisions (ADRs)

  • ADR-014: Multi-region eu-central + eu-west, active-active (read replicas).
  • ADR-015: GraphQL for internal, REST for partner.
  • ADR-016: Event driven via Kafka, no synchronous notification call.
  • ADR-017: Data residency EU-only, compliance confirmed.
  • ADR-018: Cache via Redis with TTL 60 s, acceptance of inconsistency.

Risks

  • R1: Partner load spikes unpredictable -> rate limit + burst quota.
  • R2: Multi-region consistency for booking -> sticky region per tenant, async replication.
  • R3: Kafka operations maturity unclear -> SRE spike by 2026-06-15.

Roadmap

  • Q2: MVP single-region, GraphQL plus Partner Gateway.
  • Q3: Multi-region, full observability.
  • Q4: Self-service partner sandbox.
07

Pitfalls

Recognize symptoms and steer against them

Trap

Canvas becomes service catalog

Symptom

Component section contains 30 microservices, strategic statement gets lost.

What to do

Limit to 5-12 strategic components. Details in C4-L3 or service catalog separately. Canvas remains big picture.

Trap

Cross-cutting ignored

Symptom

Components are defined, auth, logging, tracing are missing.

What to do

Cross-cutting section must be filled. At least auth, observability, resilience. Late solution is more expensive than early one.

Trap

Trade-offs invisible

Symptom

Architecture appears magical, all quality attributes fulfilled at once.

What to do

Explicit trade-off per QA scenario. Which other aspect suffers, how is it mitigated.

Trap

Roadmap missing

Symptom

Canvas shows target state, nobody knows sequence or phases.

What to do

Roadmap section with phases and milestones. Not too fine, at least rough quarterly structure.

Trap

No ADR reference

Symptom

Canvas entries remain assertions without rationale.

What to do

ADR per top decision with options and rationale. Canvas links ADRs.

08

Stop criteria

Done signals checkable in under a minute

Inception or QAW missing, canvas without foundation.
Architecture decider not in the room, decisions remain non-binding.
Quality attributes not defined, component selection arbitrary.
Workshop compressed to under 4 h, deep sections not reachable.
Architecture is already built and no change possible, canvas is documentation without value.
No willingness for ADR follow-up, canvas becomes orphaned.

Finished the runsheet?

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