Glossary/Coupling & Cohesion
Technical Debt & Code Quality
2 min read
Share:

What is Coupling & Cohesion?

TL;DR

Coupling and cohesion are complementary software design metrics.

Coupling and cohesion are complementary software design metrics. Coupling measures how dependent modules are on each other. Cohesion measures how related the elements within a single module are. Good software design aims for low coupling and high cohesion.

Low coupling means modules can be modified, replaced, or tested independently. A change to Module A doesn't require changes to Modules B, C, and D.

High cohesion means every element in a module serves a single, well-defined purpose. A "UserService" that handles user CRUD, email notifications, billing, and report generation has low cohesion.

The opposite — high coupling and low cohesion — is the defining characteristic of unmaintainable systems. When everything depends on everything else and each module does many unrelated things, every change is risky and expensive.

Microservices architecture aims to enforce low coupling by separating services at process boundaries. But poorly designed microservices can create "distributed monolith" — all the coupling of a monolith with the operational complexity of microservices.

Why It Matters

Coupling and cohesion determine how expensive it is to change software. High coupling means every change cascades across the codebase. Low cohesion means every change requires understanding unrelated code. Together, they set the maintenance cost floor for your engineering organization.

Frequently Asked Questions

What is coupling in software?

Coupling measures how dependent software modules are on each other. Low (loose) coupling is desirable — modules can be changed independently without breaking other modules.

What is cohesion in software?

Cohesion measures how related the elements within a module are. High cohesion means a module does one thing well. Low cohesion means a module does many unrelated things.

Related Terms

Need Expert Help?

Richard Ewing is a Product Economist and AI Capital Auditor. He helps companies translate technical complexity into financial clarity.

Book Advisory Call →