Visualise, document and explore your software architecture
summary
Advocates a specific, hierarchical approach: C4 model (system → containers → components → classes), plus lightweight docs-as-guidebook limited to what code can’t show and readable in 1–2 hours. Recommends whiteboards for design, PlantUML/draw.io for diagrams, and an executable architecture description language (Structurizr / open‑source Java and .NET libs) to generate PlantUML/DGML, embed in builds and keep diagrams synced with code. Demonstrates with a real site (TechTribes.je), reports running workshops in 25+ countries for thousands of developers.
AI-written summary · about
chapters (20)
- 0:00Visualise, document and explore your software architecture
- 6:50The primary use for diagrams and documentation is communication and learning
- 15:54Software architects struggle to communicate software architecture
- 17:31Do you use UML?
- 20:25Why is there a separation between the logical and development views?
- 21:05Our architecture diagrams don't match the code.
- 23:13We lack a common vocabulary to describe software architecture
- 28:53A common set of abstractions is more important than a common notation
- 32:16A model of the static structure forms the basis for other views
- 35:48Working software over comprehensive documentation
- 36:45The code doesn't tell the whole story
- 39:01Describe what you can't get from the code
- 39:29The scope is a single software system
- 41:53How do you keep software architecture documentation up to date?
- 42:32What tools do you recommend?
- 44:33Text-based diagrams can be version controlled, generated from build scripts, etc
- 45:26Architecture description languages provide a way to describe architecture as text Darwin, ACME, Koala, Wright, ...
- 49:32Diagrams are not useful for architectural improvement if they are not connected to the code
- 50:12Reverse-engineer code to diagrams?
- 58:31Prefer models over diagrams
related talks
57mVisualise, document and explore your software architecture
42mSoftware Architecture vs Code
34mDiagram as Code - Decoding Architectural Diagrams
51mDiagrams as code 2.0
54mC4 models as code
51mConsistent architecture diagrams for C++ projects
01h 00mC4 models as code
44mAutomate your software design How far we can get and how the AI chan
