C4 model:
“Diagrams as maps”: so developers can navigate through a system
Each diagram must have:
Start with simple boxes with: (e.g. https://youtu.be/x2-rSnhpw0g?t=1410)
Uni-directional lines (arrow must match the flow and have a description). Avoid bidirectional arrows, unless the arrows have different labels with different intentions (e.g. https://youtu.be/x2-rSnhpw0g?t=1611)
Avoid much lines, because they make diagrams confusing and can hide the true story (e.g. do not do https://youtu.be/x2-rSnhpw0g?t=1649, and instead do https://youtu.be/x2-rSnhpw0g?t=1665).
AVOID complexity and clutter in diagrams. KISS. Increase readability
Use shapes to ease the understanding: https://youtu.be/x2-rSnhpw0g?t=1851 (the image on the right is much better.
Text must complement a diagram rather than explain it. You can write more detailed text, based on an existing C4 model.
Tools: (do NOT use visio, draw.io, etc… they are general-purposing diagramming tools)
Ensure the team has a language to describe software architecture.