A Singapore Government Agency Website

Standardised Design Artefacts

Visualising Software Architecture with the C4 Model

Clear and consistent communication of software architecture is essential for building and maintaining complex systems. This is particularly relevant as our teams work across domains. The C4 Model provides a structured and hierarchical approach for visualising architecture using a small set of standardised design artefacts. These artefacts help both technical and non-technical stakeholders understand how systems are structured and how they fit together.

What is the C4 Model?

The C4 Model stands for:

  1. Context
  2. Container
  3. Component
  4. Code**

The breakdown below explores the focus and purpose of each diagram, which zooms in to a different level of detail:

1. System Context Diagram

  • Shows how the system fits into the broader environment
  • Identifies users, external systems, and key interactions
  • Answers: “What is this system and who uses it?”

2. Container Diagram

  • Breaks the system into major deployable or executable units (e.g., web apps, databases, services)
  • Highlights how containers interact and their responsibilities
  • Answers: “What runs where, and how do parts of the system communicate?”

3. Component Diagram

  • Shows internal structure of a container
  • Identifies major components and how they collaborate
  • Answers: “How is this container structured internally”

4. Code (Optional)

  • Provides detail at the class or function level (typically automated)
  • Useful for developers onboarding or working with complex logic
  • Answers: “What does this component look like in code?”

Not every system needs all four levels. Start with Context and Container diagrams, and add more detail where useful.

Benefits of Using Standardised Artefacts

Standardising architecture documentation through the C4 Model can enable smoother delivery across teams in the following ways:

  • Clarity: Consistent structure across systems makes it easier to onboard and review
  • Alignment: Supports shared understanding between engineering, product, and stakeholders
  • Maintainability: Simplifies reasoning about changes, dependencies, and technical risk
  • Traceability: Connects high-level design to implementation, improving documentation quality

Best Practices

The following best practices can support teams in applying the C4 model effectively:

  • Use simple notations—boxes and arrows are enough when used clearly
  • Keep diagrams current—update them as the architecture evolves
  • Supplement diagrams with concise descriptions of responsibilities and interfaces
  • Use tooling where possible (e.g., Structurizr, PlantUML, etc.)

Integrating C4 into Delivery

Design artefacts based on the C4 Model can be created at different points:

  • During architecture discussions or spikes
  • As part of design reviews or RFCs
  • When onboarding new team members
  • As living documentation in the codebase or internal wiki

By embedding these artefacts into the development lifecycle, teams create a shared language for system architecture that evolves alongside the software.

Summary

The C4 Model provides a practical framework for visualising software architecture. Using clear layered diagrams, scalable detail levels, and standardised design artefacts, the approach aims to create better communication, planning, and making informed technical decisions across delivery teams.

Chat with me!
Bot Launcher