Core Concepts
This section lays the foundation for understanding software design through the lens of complexity, modularity, and coupling. These articles explore how systems become complex, what makes them modular, and how coupling can be used as a powerful design tool. Together, they build up to the key idea of *balanced coupling* and provide the vocabulary needed for deeper architectural thinking.
Dimensions of Coupling
The Dimensions of Coupling section explores the three forces that shape the relationships between software components: integration strength, distance, and volatility. These dimensions don’t act in isolation—instead, their interplay determines whether a design leads to modularity or complexity. Understanding these dimensions helps software designers make coupling a conscious, strategic decision—rather than an accidental liability.
Learning Resources
This section offers a variety of ways to dive deeper into Balanced Coupling and modern software design. From curated book recommendations to training programs, conference talks, and podcasts, these resources help you explore the theory and practice of modularity, complexity, and coupling dimensions—at your own pace or with your team.
Related Topics
This category brings together foundational concepts and adjacent perspectives that enrich the Balanced Coupling model. It revisits classic ideas like module coupling and connascence, and explores topics such as semantic, lifecycle, and runtime coupling—along with broader frameworks like domain-driven design and Cynefin.
Contact Vlad Khononov
Have a question or want to connect with Vlad Khononov? Whether it's about training, consulting, speaking engagements, or sharing your experience with software design, this is the place to get in touch.