The Future of the Past – Legacy Will Stay With Us
summary
Legacy systems contain tangled cycles (one example is 463 classes across 10 components) and accrue accidental complexity; practical exit paths are incremental refactoring or full rebuild but rebuilding hides many unknown unknowns and can double cost due to organizational change. Start by fixing infra: dependency checks and a CI/CD pipeline, add tests (JUnit) following a scout rule (leave code cleaner than found), use metrics tools like SonarQube, Teamscale or Structure101 and a modularity maturity index (0–10) to prioritize core-domain systems. Logging over a year reveals unused functions (30% in one case).
AI-written summary · about
chapters (11)
- 0:00Introduction and welcome
- 2:39About the speaker and company
- 5:09Defining good legacy software
- 7:15How bad legacy software emerges
- 9:24Essential vs accidental complexity
- 12:37Life cycle of software complexity
- 17:01Ways out of bad legacy
- 25:11Refactoring as a viable solution
- 26:14Steps to refactor legacy code
- 37:12Domain-driven design for legacy systems
- 44:33Q&A session
related talks
49mWhat Does a Legacy System Teach Us?
26mLegacy Codebases are a DevOps Issue
14mDo Legacy Systems dream of Modernization?
47mLegacy Software: Really a Problem?
52mHow to work with legacy so neither you nor the project burns out
43mPatterns of Legacy Displacement
21m50 Shades of Legacy
41mWhat is stopping us? A legacy code question
