Long-lived software architectures that survive decades without debt
summary
The talk explains how maintenance has overtaken greenfield development and shows common architectural mistakes that make code increasingly complex and costly to maintain. It presents principles for designing long-lived software architectures and recommends tools and practices for identifying and paying down technical debt to keep systems maintainable for decades.
AI-written summary · about
chapters (18)
- 0:00Introduction
- 2:32Technical debt
- 7:26Architecture erosion and refactoring
- 12:01Rebuilding systems
- 15:15Case study: Techniker Krankenkasse
- 17:27Simple and understandable software
- 20:39Psychology and software design
- 27:46Software architecture patterns
- 30:58Analysis with FOTARO
- 35:39Domain versus technical layers
- 38:12Example: Technical and domain structure
- 44:34Legacy system black holes
- 51:22Measuring modularity and cycles
- 53:48Anti-corruption layers and monoliths
- 56:19Large classes and DDD
- 57:45Patterns and MVC
- 59:32Pattern consistency and system analysis
- 1:02:22Best practices and evolution
related talks
01h 14mDeliberate Architecture
48mManaging Architectural Debt in a Hypergrowth Context
45mKeeping Up with the Times: Flexible Architectures
42mLegacy Came to Stay
07mTechnologies That Last
48mTilting at Windmills, or How to Live with Technical Debt
46mManaging architectural debt in a hypergrowth context
51mApproaches to Ultra-Long Software Maintenance
