It’s tempting to rush through tasks, doing just the bare minimum, calling it done and moving on.

The goal of this strategy is to save time, but ironically, the sacrifice in quality, in the long run, wastes time.

There are many different ways to sacrifice quality. In software development, the most obvious one is probably when poor decisions or lack of planning lead to and accumulate technical debt.

Another common problem is poor communication. It’s tempting to assume that the other person knows more than it’s actually the case, and then ask a question or make a request without providing the background. If the other person isn’t aware of the context, he or she won’t be in a position to help effectively.

What makes poor communication especially tricky is that it may not affect you directly, and therefore you may not be aware of the damage. For example, a product manager may not know that a developer needed to redo her work because the initial requirements were ambiguous. A small detail can sometimes invalidate a significant amount of the work that has been done.

On the other hand, putting time and effort towards making your messages comprehensive and easy to understand almost always pays off. Spending additional 5 minutes on an important email message can mean one less meeting for you and a few other people. In addition, explaining things well will reduce the number of back-and-forth messages, saving everybody’s time. More signal, less noise.