Software Architecture Diagrams

Architects “aren’t” the builders.  Software architects need to be able to communicate design with many other people.

Infrastructure – They have to build out the hardware

Database Administrators – They have to configure your data storage

Developers – They have to write the code, to do what you are designing

Project Managers – They need to know what is being done and how much is complete

Business Users – They need to see what is going to be produced and help determine which pieces need to come first

In order to communicate with such a wide variety of people, you need to “speak” the same language.  But what language?  How do you communicate between so many people in a way that they can all understand (without getting lost)?

A method that I have come to like is called C4.  The best source of learning how to use C4 is https://c4model.com/ 

If you have Visio, the best template I have found is this one.  https://github.com/pihalve/c4model-visio-stencil  It has a few quirks.  I created my own version of the template that fixed some sizing and connection point issues that I found. 

If you do NOT have Visio, I recommend Draw.IO.  It can be used, directly from the browser https://www.draw.io/ , or by downloading the stand alone version from, https://github.com/jgraph/drawio-desktop/releases .  The template, and installation instructions, can be found here https://github.com/tobiashochguertel/c4-draw.io#quick-start

Leave a comment