methodatlas

Architecture Mapping tool

C4 Model

Communicates software architecture through context, container, component and code diagrams at useful levels of detail.

Communicates software architecture through context, container, component and code diagrams at useful levels of detail.

Core question
Which diagrams let each audience understand the software architecture?
Participants
1-5
Time
1-4 h

The steps are a practical sequence; adapt them to the method’s purpose and available evidence.

A paper-based illustration representing C4 Model with its core stages and visible working result.
  1. Question

    Choose system, audience and question

    Define one system-of-interest boundary and the understanding question the diagrams must answer.

  2. Context

    Draw system context

    Show the system as one box with people and external systems; label relationships by purpose and interaction.

  3. Containers

    Add container view

    Decompose the system into applications, services and data stores; name responsibility and technology when useful.

  4. Detail

    Maintain only useful zoom levels

    Add component, code, dynamic or deployment diagrams only to resolve a question; label legend and ownership.

Revisit the model when evidence, context or outcomes change. Record what changed and why.

A good fit when

Use it when: Architecture Communication, Onboarding. The group can provide the evidence and authority the method requires.

Ideal for

  • Architecture communication
  • Onboarding
  • Design reviews

Not good for

  • Domain discovery
  • Strategic market analysis

Outputs

  • C4 diagram set

    System context, containers and further zoom levels when they serve a clear purpose.

  • Coherent set of C4 views

    The artifact records scope, date, participants, source version, and owner, including changed assumptions and the reason for each revision.

C4 views

Fictional worked example

Fictional context diagram for a practice portal: patient uses web app; practice staff use admin interface; portal queries practice management and sends confirmations through email service. Container view below: web frontend, booking API, appointment database. Label the relationship: API reads open slots and requests reservation. No component view unless it answers a concrete question.

System context

Show the system, people and neighbours with relationships.

Patient → practice portal → practice management.

Container

Show applications, services and data stores inside the boundary.

Web app → booking API → appointment database.

Component

Decompose internal components only to resolve a question.

Booking service checks availability and reservation.

Code

Use code level only when detail is useful.

No code diagram without a concrete reader need.

Supporting diagrams

Add dynamic, deployment or landscape when the communication needs it.

Deployment view for operations handover.

The example text is fictional; replace it with sourced project information.

C4 model: Diagrams

First step

Define one system-of-interest boundary and the understanding question the diagrams must answer.

Open the method guide

Deep dive

Purpose

The C4 Model makes a system legible across several resolution levels, from context down to code. It suits situations where different audiences need to understand the same architecture from different altitudes.

How it works

First the system context is described with people, neighboring systems, and boundaries. Then containers, components, and, if needed, a code view are added as supplements. This keeps the architecture connectable at every level without overloading a single diagram.

In detail

The C4 Model works because it shows the same architecture at graduated resolutions, reaching different audiences without diagram overload. Good use keeps the abstraction disciplined at each level and avoids mixing context, container, and detail in one picture. The approach becomes effective when relationships, responsibilities, and interfaces are clear enough per view that understanding questions get resolved faster and wrong assumptions are caught earlier.

Facilitation

Clarify beforehand which view is needed for which conversation so you don't draw everything at once out of habit. A key moment happens where one level no longer suffices and the group deliberately moves to the next. Close with a compact set of maintained views and clear rules on when each one needs updating.

The method guide walks execution through 4 phases, timing, 4 pitfalls, and clear stop criteria.

Open method guide

Your perspective

Does this method help with your work?

Your feedback helps shape the next improvements to methodatlas.

Sources and topics

Topics
Artifact templates
C4 Model: WorksheetPrepare the decision, source evidence and next review.
markdown

c4-model-working-template.md

Prepare the decision, source evidence and next review.

C4 Model: Worksheet

Question

To be confirmed

Desired outcome

To be confirmed

Scope

Run the method Time: See catalog planning range; no universal duration.

Complete this worksheet on paper or in your own document during the work.

Preparation for this scope

Method setup

  • Materials: Shared visual workspace, source evidence, and an agreed decision question.
  • Roles: Architect or lead developer, developers, product/domain representative.
  • Advance information: Collect existing data, examples, constraints and relevant stakeholder perspectives.
  • Overall time needed: 60–120 min for an initial model; detail and review depend on system scope.
  • Setup: Name software system, boundary, audience and question the diagram must answer. Show users and neighboring software systems with named relationships. Decompose the chosen system into applications/data stores/containers and technologies. Zoom into components or code only when the audience needs that level. Check consistent scope, relationship labels, legends and diagram owner.

Prepare for the work steps

Question: Choose system, audience and question

  • System boundary, discussion purpose and audience

Context: Draw system context

  • Users, neighbouring systems and evidenced relationships

Containers: Add container view

  • Context view, deployable software and data stores

Detail: Maintain only useful zoom levels

  • Open architecture question, diagram convention and owner

C4 views

System context

Show the system, people and neighbours with relationships.

...

Container

Show applications, services and data stores inside the boundary.

...

Component

Decompose internal components only to resolve a question.

...

Code

Use code level only when detail is useful.

...

Supporting diagrams

Add dynamic, deployment or landscape when the communication needs it.

...

This blank document contains only section prompts.

C4 model: Diagrams

Question: Choose system, audience and question

Expected artifact: Diagram brief

Diagram brief

Entry:

...

  • Can an architecture view answer the question?

Context: Draw system context

Expected artifact: System context diagram

System context diagram

Entry:

...

  • Are dependencies and system boundary clear?

Containers: Add container view

Expected artifact: Container diagram

Container diagram

Entry:

...

  • Are containers executable or deployable units?

Detail: Maintain only useful zoom levels

Expected artifact: Coherent set of C4 views

Coherent set of C4 views

Entry:

...

  • Are terms, direction and detail clear to readers?

Open questions and next steps

...

Method guide: https://methodatlas.meierhoff-systems.de/en/methods/c4-model/run-sheet

Alternatives and neighbors

Fitting alternatives with decision guidance, followed by other related methods.

All methods
Constraints and origin
LowWorkshop + async1-4 h

Profile

Method form
Mapping tool
Participants
1-5
Time
1-4 h
Maturity
Canonical
Origin
Simon Brown
Paper illustration of two considered options leading to a decision record with a marked status and visible consequences.
Next up: Architecture Decision Record