The moment we introduce strong coupling between our services, we lose the potential advantages of a microservice architecture:
We can no longer deploy services independently,
Our teams will spend more time in sync meetings than in the code, and
The system becomes incredibly hard to maintain. It’s expensive.
At the same time, it’s harder to reason about dependencies in a distributed microservice system than a traditional monolith. Part of the reason is that static dependency analyzers tend to break down: in a microservice architecture, there aren’t any explicit dependencies in the code, only indirect dependencies via API calls and messages exchanged over a network.
This article addresses the challenge by introducing the concept of a Change Coupling analysis. Change Coupling is a behavioral code analysis technique that uncovers logical dependencies across servicesandteam boundaries. Let’s see it in action.
Prioritize Dependencies that cross Team Boundaries
Tighly coupled services are problematic in general, but there are different circles in any dependency hell. In particular, dependencies between services that cross team boundaries are expensive and immediately creates delivery bottlenecks. Change coupling lets you visualize those dependencies:
Don’t forget to share this Blog post
New visual identity
new product interface
CodeScene just got a new look!
The new identity revolves around our vision to “give code an intelligent
voice” and reflects our forward-looking culture. The new logo reinforces
the idea of artificial intelligence and CodeScene being there as an
extra team member, guiding you toward better software and teams.
The new website presents relevant content in a clean, minimalistic and
modern way with an aim to give visitors easy access to solutions and
We are proud to share this new identity with our community and hope that
it will inspire all of us to write better code, build happier teams and
future proof our software.