I read Balancing Coupling in Software Design: Principles of Modularity for Sustainable Growth.
This book is a rare exploration of coupling, providing a theoretical understanding of how to manage the complexities of architectural design.
I believe that managing complexity is crucial to determining the lifespan of an architecture, and this book allows for a deep dive into coupling as an analytical perspective for that purpose.
Having read it only once, I didn't fully absorb everything, so I want to keep it on hand as a reference, much like a dictionary, for when I'm designing. The perspectives on coupling are very well organized, which I think will be helpful for design analysis.
Research on coupling is not a recent topic; it has been studied for a long time. However, I feel that software engineers are eternally confronted with the challenges of managing it. This likely stems from the essence of software engineering being rooted in the management of complexity.