A way to improve immediately the quality of your communication is to get information before you give information. Here is the way this technique works.
When you are asked a question, before giving an answer, follow instead with a question seeking more information. For example, I was visiting a colleague in his office when a student came in asking if he could make up a test he had missed.
Instead of directly answering the question, my friend said, "Did you miss any other classes on the day you missed mine?" The question startled the student because this response was not what he expected. I could tell he wasn't ready to answer the question. Haltingly he admitted that he had missed my friend's class to study for another test. This added information affected how my friend counseled the student about making up the test. As I recall, he allowed him to do so but with a grade penalty.
Someone asks for directions to a popular shopping mall. Before answering, I may ask, “What time of day do you plan to go?” Since the time of day determines traffic patterns, I might recommend a different way if the trip is during rush hour traffic versus a one o'clock destination time.
A friend asks for a restaurant recommendation for dinner. Before answering, ask if there is a ceiling on how much he is willing to pay. That answer will help determine what restaurants you recommend.
Thus the quality of communication improves when you seek more information in order to give a more specific or accurate answer.
What are good follow-up questions you use to get more information before answering the original question?