Communicating with colleagues from another part of the world - is radically different from when they are physically present in the same place - even when using face to face tools such as Skype or Microsoft Teams. Amongst other factors to consider is the varying timezones - therefore we often work in asynchronous fashion.
Why is over-communicating important?
First, a lack of effective communication directly results in a loss of productivity. For example, imagine working on a task that is ambiguous and you need more information to progress. You need for instance, to send an email to a user when the latter orders a product on your eCommerce system.
However, the user has more than one email stored in the application. You don't know for sure on which one to use. You ask the Product Owner or System Analyst and wait for his or her answer as they are in another country with a time difference.
You can meanwhile work on another task - which will nevertheless - translate in effort wasted on cognitive switching (task switching).
Thus, multitasking may seem efficient on the surface but may actually take more time in the end and involve more error. Meyer has said that even brief mental blocks created by shifting between tasks can cost as much as 40 percent of someone's productive time. https://www.apa.org/research/action/multitask
Sometimes you don't even need to wait to have the correct information to proceed - but ambiguity will slow you down and similarly, you will have to ask for further clarification.
Over-communicating is an effective way to mitigating these scenarios.
So how I try to over communicate?
One way to deal with the above example, when assigned the task, is to ask plenty of often redundant questions in order to decrease the number of assumptions. I can try asking about which email to take if its not in the task description.
Unless this is a blocking situation, I will try mocking the data to continue working and later replace the value when I get the correct information.
The way I generally over-communicate is by being redundant, that is, to repeat certain information in different ways. For example, when describing a task, I illustrate the point with at least an example. I also try to summarise the point in a comment.
In addition, if even this sounds tedious to do, I experience enhanced quality of communication and feedback when using multiple tools, such as first having the task on a Project Management Tool such as BaseCamp or Taiga, then sending an email to the concerned person (which the application usually does) and sometimes I also send a concise little text message on a chat medium such as Slack or Google Hangout.
For every issue, bug or feature I work on, I document almost everything such as screenshots and test data on apps such as Notion, which is a note taking productivity tool. I therefore have a trace of my work. I can also share this with other colleagues if they need to later work on the task.