Software Architecture vs Code
summary
Argues that architecture must match code and shows a concrete C4 style workflow from context to containers to components using a real open sourced content aggregator that is diagrammed and then refactored so each component lives in a package-per-component with package protected implementations so diagrams map to code. Recommends shifting tests to component testing over unit testing where appropriate, and notes a tool in progress to extract components from Java code and auto‑generate diagrams.
AI-written summary · about
chapters (18)
- 0:00Introduction
- 1:11The intersection between software architecture and code
- 1:58How do we communicate software architecture?
- 3:26boundaries for TDD
- 5:00Logical and development separated
- 5:28BRAIN FREEZE!
- 11:43The code is the embodiment of the architecture
- 12:31Does your code reflect the abstractions that you think about?
- 17:03Organisation of code
- 20:02Diagramming tools See packages and classes rather than components
- 21:07Abstractions on diagrams should reflect the code
- 27:16Software developers are the most important stakeholders of software architecture
- 29:25Did it start out that way?
- 32:14Don't do unit testing!
- 34:16A good architecture enables agility
- 36:07The structure of your software and the decomposition strategy you use to get there are important
- 37:59Think about how to align the software architecture and the code
- 39:05If your software system is hard to work with, change it!
related talks
42mSoftware Architecture vs Code
07msoftware architecture vs code
50mVisualise, Document & Explore Your Software Architecture
48mDown the Ivory Tower towards Agile Architecture
51mSoftware Architecture for Humans!
49mBottom-up Architecture: Bridging the Architecture-Code Gap
49mReverse-engineering Architecture Diagrams
30m5 Things Every Developer Should Know about Software Architecture
