Develop stand-alone and loosely coupled services.
Loose coupling must be the norm.
Each micro-service has a clearly defined interface.
This interface determines the coupling between micro-services.
Domain Driven Design helps, especially through Bounded Contexts, to anticipate this problem.