I used the term "tribal knowledge" at work earlier this week, and folks didn't know what I meant. It's a term that we used to use around the office all the time at several of my past jobs, and I thought it was common jargon, but apparently not.
Tribal knowledge is when everyone knows stuff, so you don't need to write it down. Everyone just knows. And when you don't know, you know who to ask, right?
So, if you want to know where the good fishing holes are, you ask Uncle Joe, and he'll show you where they are. You could ask Ron, but he hasn't been fishing in a while, and there was that storm last month, and it knocked some trees down, so you can't be sure.
If you want to know about fixing your car, you ask Frieda, because she's always tinkering with cars, and she knows all about them. But she's a bit secretive, and she'll probably prefer to just fix it for you than to tell you how to fix it.
If you need a new watch, Vinnie can get you one - he knows this guy - but you can't get them yourself, because that might tip off The Man, and then the supply would dry up.
Thus, over time, it turns out that nobody knows anything, and in order to get anything done, you have to know who to ask to find out who to ask, and all the wisdom of the tribe is squirreled away in these secret repositories of hidden knowledge. Of course, when Frieda moved to Chicago, nobody could fix their car any more, and when Uncle Joe got eaten by that alligator nobody knew where the fish were biting.
And it's the same way when little bits of knowledge aren't captured in any kind of documentation at work. Some people do this because they enjoy the power of being The One Who Knows, and others do it because they think it's job security, but most people do it because ... well, they just don't think of it. There's so many things to do, and writing down that the creamer is kept in the cabinet on the far left just isn't important. After all, everyone knows, right? And if you don't, you can ask Bertha where it is.
Documentation is not wasted time. Documenting processes is an investment in future productivity - possibly even your own, because you'll forget. Code comments today save hours of work next week. Documenting the arguments that are passed to a function will save me having to search through dozens of source files to find examples of how it is called.
Tribal Knowledge is a very damaging thing to your project and your company, because people leave. They move on to other jobs. They get assigned to other projects. And, even more often, they just forget. The half-life of unused knowledge is awfully short. And then someone else has to become The Expert, and pretty soon they find that they're the one that gets the annoying phone calls at 5:16pm, on their way to their daughter's orchestra concert, to explain how to insert the flywheel onto the grommet. So write it down. Put it in the wiki. Tell everyone where the information is, and encourage them to put their information there too.