Software Architecture vs Code
summary
Argues you must make diagrams match the code and shows a practical way to do it: use the C4 model (system → containers → components → classes), build maps that reflect actual packages and components, and stop trusting tools that only show packages/namespaces. Demonstrates on a real site TechTribes.J implemented in Java + Spring, where refactoring layered services into package‑protected component implementations yields a one‑to‑one mapping on GitHub and shifts testing toward fast component tests.
AI-written summary · about
chapters (33)
- 0:00Intro
- 0:30Simons background
- 0:54Jersey
- 2:35Software Architecture
- 3:58Boxes and lines
- 4:14Requirements
- 5:14Functional View
- 6:20Storybooks
- 6:48Challenges
- 7:16Too Complex
- 7:50Views and Perspectives
- 9:12Brain Freeze
- 11:31Fishing
- 12:59Architecture vs Code
- 15:03Layered Architecture
- 16:38Bass Fishing
- 18:16Layers
- 19:32Model Code Gap
- 20:42How to shrink the Model Code Gap
- 21:44Architecture pictures dont work
- 23:04How to merge architecture and code
- 25:55Example
- 28:40Does it reflect the code
- 29:50Did it start out like this
- 31:39The code now
- 32:10No layered architecture
- 33:02Unit testing
- 34:37DHH on unit testing
- 35:18Whats the purpose of layering
- 36:47Experimenting
- 37:41Fish
- 38:33Agility
- 40:11Agile Approach
related talks
46mSoftware Architecture vs Code
50mVisualise, Document & Explore Your Software Architecture
07msoftware architecture vs code
01h 00mVisualise, document and explore your software architecture
42mThe C4 model for visualising software architecture
57mVisualise, document and explore your software architecture
36mVisualising software architecture with the C4 model
49mReverse-engineering Architecture Diagrams
