Software architecture diagram
Architecture diagrams go stale faster than any other kind, because they are drawn once for a review and then never opened again. Keeping the diagram on the page it documents, editable by whoever is changing the system, is most of the fix.
The rest is discipline: one diagram per question.
#When to reach for one
Design reviews, where the diagram is the proposal.
Documenting a system that already exists and currently lives in one person's head.
Comparing options, where two diagrams side by side beat two paragraphs.
#How to draw it in Capable
Route | Use when |
|---|---|
D2 or Mermaid | Text, so it diffs in review and updates in seconds. |
draw.io | Positional meaning, or provider icons. |
C4-PlantUML | You want the zoom-level discipline of C4. |
#A worked example
A three-tier system in D2, which lays itself out:
The source, which you can paste into a new diagram and edit:
#A few things that catch people out
Date the diagram, or better, keep it on the page that changes when the system does.
An arrow with no label is a question waiting to be asked. Say what flows and how.
Draw the boundary. What is inside your control and what is not is usually the most useful line on the page.
#Related
Cheap to change means it stays true.
