Too Long; Didn't Read
Decoupling is the act of realising you are in debt, and you decide it’s time to work on it. The only check-list you need to know about decoupling, is that it is a long term goal, and NOT the result of the first decoupled service in production. It is preferred if you can make decisions based on your past experiences, and it is preferred that the first version of the decouled application should not be fully decoupled. Be careful, or your team might be building the legacy code that no one will want to touch in the future.