Dynamic diagrams in the C4 model

IcePanel
3 min readSep 11, 2024

--

⚡ TL;DR

  • A dynamic diagram simplifies complexity by focusing on specific use cases or user journeys in ordered steps.
  • These diagrams illustrate interactions across the system, allowing viewers to understand data flows to support a use case.
  • IcePanel uses Flows as an alternative to dynamic diagrams, allowing you to show step-by-step interactions on top of existing diagrams.

🤔 What is a dynamic diagram?

A dynamic diagram is a different type of diagram that focuses on a specific use case or user journey. Static diagrams with many objects can be difficult to understand because viewers often don’t know where to start. If viewers don’t know where to start and can’t quickly understand what a diagram is communicating, it’s not a valuable communication artifact.

This is where dynamic diagrams can help. A dynamic diagram contains ordered steps to show specific interactions across the system. This step-by-step flow makes it easier for viewers to follow the diagram and understand how the various parts of the system make something work.

C4 dynamic diagram

If you’re familiar with UML diagrams, they’re based on communication diagrams and are similar to sequence diagrams but much more flexible.

⌚ When should you use a dynamic diagram?

The core C4 diagrams help communicate the shape of your architecture, but it can be difficult for people to understand how something works right away.

Dynamic diagrams are helpful for:

  • Reducing the complexity of a diagram by focusing on a specific group of objects and steps.
  • Onboarding new team members on key use cases since they’re easier to follow.
  • Visualizing data flows across the system to evaluate risk and architecture decisions.

🖌️ How to create a dynamic diagram in IcePanel using Flows

IcePanel doesn’t support dynamic diagrams. However, you can use Flows instead to accomplish the same thing (we think they’re even cooler though 😉).

Like dynamic diagrams, Flows are freeform and let you build a sequence of steps on top of a diagram. You don’t need to create another diagram, which saves you from diagram bloat. Once you create a Flow, you can share it with other people using a share link so they can step through the interactive flow.

To create a Flow in IcePanel:

  1. Navigate to a diagram
  2. Click on the + New flow button on the bottom left of the screen
  3. Add steps. For each step, select a sender, message type, receiver, and description
  4. Add paths. These can be go-to flows, async paths, or alternate paths
  5. Share the Flow by clicking on the share button on the top right
Creating a new Flow in IcePanel
Adding a step to a Flow

For a more detailed breakdown of Flows in IcePanel, check out our docs.

🏁 To wrap up

By now, you should understand what the C4 model is, how it compares to other methodologies, the core diagram types, and supplementary diagrams. The C4 model is designed to be lightweight and easy to learn, so you’re now ready to begin documenting your system using the C4 model.

📚 Resources

--

--

IcePanel
IcePanel

Written by IcePanel

🧊 Align on technical decisions across your software engineering and product teams icepanel.io 🔗

Responses (1)