I think one thing that can surprisingly interfere with communication, especially in small teams, are issue tracking tools. They encourage indirect communication which is often ineffective or counterproductive.<p>For example, people may start to make a list of 10 ideas that they have and mark them as feature requests. Six of them are "moderate priority". They live in the backlog for few weeks. During that time the main thing they accomplish is stress for the developer.<p>Then say 13 days after they were added the developer has a chance to really dig into one of them and realizes it's fundamentally unclear what they are asking for. So he writes a comment on the issue asking for clarification.<p>Four days later the person who created the feature request notices the comment and then just says "on second thought, this is actually a low priority item, not moderate priority". They never bother finishing the thought they had. It was actually so low priority, it wasn't even worthwhile for them to think it through.<p>I think the ideal thing is if people can learn how to read and write and type, and use a chat room. If that is not really in their wheelhouse (for many unfortunately it is not) then verbal conversations can work as long as they are frequent enough and properly shared.<p>Lack of availability for communication of any sort on a timely basis is often quite common.