How do you balance coupling in software design to manage complexity and build resilient systems?

Vlad Khononov, software architect and author, joined me on Software Engineering Radio to explore the concept of coupling in software design. We started by examining coupling’s relationship to complexity and modularity, then traced the historical models for assessing coupling. Vlad introduced his updated approach—integration strength—which simplifies earlier frameworks like connascence and adapts them for modern software practices.

We explored three dimensions of coupling: integration strength (how much knowledge components share), distance (the proximity of components), and volatility (the likelihood of change). The conversation illustrated how design decisions can lead systems toward complexity or modularity, and why managing coupling is critical for minimizing cognitive load and cascading changes. Vlad offered practical insights for applying these principles in real-world software projects, with an emphasis on coupling’s central role in software architecture.

Balancing Coupling in Software Design with Vlad Khononov on Software Engineering Radio.

Go give it a listen and be sure to share with your colleagues.


Don’t miss all the great episodes of Software Engineering Radio! You can catch the show on Spotify, YouTube (audio only), or by adding the podcast feed to your favorite podcasting app.