Services should be loosely coupled and independent of each other. Service contracts should be designed to have independence from service consumers and from their implementations.
Loosely coupled services can be modified faster and easier. Decoupling service contracts from their implementations allows service contracts to be modified with minimal impact to service consumers and service implementations. By minimizing the dependencies between services, each service can change and evolve independently while minimizing the effects of those changes on other services.