
Software Engineering Radio - the podcast for professional software developers SE Radio 662: Vlad Khononov on Balancing Coupling in Software Design
Apr 1, 2025
In this engaging discussion, guest Vlad Khononov, a seasoned software architect and author, delves into the intricate world of coupling in software design. He introduces his concept of integration strength, aiming to simplify traditional coupling frameworks. The conversation covers the three dimensions of coupling: knowledge sharing, component distance, and volatility. Vlad emphasizes how mindful design decisions can either complicate or modularize systems, enhancing their adaptability and reducing cognitive load. He offers practical advice for applying these principles in real-world projects.
AI Snips
Chapters
Books
Transcript
Episode notes
Complexity As Retrospective Knowledge
- Complexity means outcomes can only be known in retrospect when you make a change and observe results.
- Vlad Khononov frames managing coupling as the main way to control complexity in software design.
Fractal Definition Of A Module
- A module is defined by functionality, a public interface, and the potential to be independently compiled.
- Modules are fractal: services, namespaces, classes, and methods can all be modules at different abstraction levels.
Enforce Independent Compilation Potential
- Ensure potential independent compilation when defining module boundaries to expose hidden coupling.
- If a component cannot be compiled independently, treat it as part of a larger module and refactor boundaries.




