December 18, 2001 spout

Too Many Secrets

Tue, 12/18/01

During my three years as director of a software project, I learned a lot about people. In fact, I have a little text file entitled My life as a dog” that may find a home on this site one day. However, because of a thread on the Windows Technical Off Topic list, one of the things I learned came roaring back like a bad acid trip.

The #1 problem with any organization is always communication. You can do postmortems on projects all day long and only #2 and above will be a surprise. The problem is that to build anything of any size, you need a team. As soon as you have to communicate what’s in your head to some number of other people, it’s going to happen imperfectly. The best way that we’ve been able to come up with to deal with this issue is hierarchical structures to practice selective information hiding, i.e. exactly the way we build software.

However, unlike software, humans have feelings and as soon as they perceive that somebody is hiding something from them, they resent it. Again and again, when I see information withheld to hide bad” news, those being hidden from know something is up and they get upset. And when they’re upset, they send emails and IMs and phone calls around the company looking for every scrap of information they can find, all the while ignoring the work that suddenly seems a waste of time in the face of impending doom. The surprising thing is that when folks are given the truth openly and honestly, no matter how bad it is, they almost always dig in and deal with it. Just knowing that they’re trusted with the secrets of the company seems to boost morale.

I’m not saying that everyone needs to post their daily activities for everyone to see — that’s too much information. But I am saying that everyone from the CEO on down should be open about the issues they face, including being open to scrutiny and suggestions. I find that after doing that long enough, folks working for me tend to trust me to make the right decisions, leaving them to focus on their own work.

The key is that, unlike software systems where components have information hidden from them by their clients, humans can only be effective if they know that the information is available when they want it. Information hiding still needs to happen, but it’s humans that need to choose to hide information from themselves. It whole thing falls apart if the managers do the hiding.