The robustness principle of human communication

November 2020

If you work in software, you may have heard of The Robustness Principle, aka Postel's Law. It states that when designing software systems, programmers should:

In software, this means that you should always send data in a format that is as conformant with the spec as possible. And, you should always accept data that is not conformant but for which the meaning is clear. This leads to robust systems.

In human communication the same thing applies. I have an internal version of Postel's Law that I think about fairly often:

Accommodate mediocre communication from others, and do not tolerate it in yourself.

It took me a long time to learn this. Too long. When someone said something confusing that I mostly understood (but wasn't communicated well), my lizard brain reacted strongly. I fixated on how they were communicating instead of what they were trying to tell me.

Having now been on the receiving end of that type of reaction for awhile now, I am proud to say that I am a recovering violator of this rule.

Note that, like Postel's Law, there are some valid criticisms to be had here. For example, most programmers know that if you don't enforce a standard and are too accommodating of malformed input, at some point the standard can become less effective in general and developing applications against it is much more of a chore. cXML and EDI come to mind.

Just like communication - if you simply tolerate poor communication from others 100% of the time, then nobody will improve and, well, you're stuck in an organization with people don't know how to communicate. And that will truncate your career.

Generally the advantages of this approach far outweigh these downsides. People feel heard by you and are comfortable talking to you. They feel less judged. Able to be more honest and direct.

Give this a shot and tell me if it helps!