Blog Logo
TAGS

The C4 model for visualising software architecture

The C4 model is a set of hierarchical abstractions and diagrams - system context, containers, components, and code, which are notation independent. It is an easy to learn, developer-friendly approach to software architecture diagramming that helps with communication inside/outside of software development/product teams, efficient onboarding of new staff, architecture reviews/evaluations, risk identification, threat modelling, etc. The model was created as a way to help software development teams describe and communicate software architecture, both during up-front design sessions and when retrospectively documenting an existing codebase. The three levels of diagrams provide a starting point, showing how the software system in scope fits into the world around it, the high-level technical building blocks, and the components inside it.