Photo credit: cesarastudillo

The World of Precise Information

The world around us doesn’t work well with our memory.

For thousands and thousands years our accentors had to remember: places where they found these sweet berries, which food is good for health; which animals are dangerous… The information was either associative or spatial. Then Cognitive, Agricultural and Scientific revolutions happened. Now we have to remember PINs for our bank cards and smartphones, passwords, bank account numbers and mathematical formulae. The information is very precise and isolated.

It is hard to keep that information in our heads. Our memory was not designed for that.

To make matters worse, our memory fluctuates. It is changed with every bit of incoming information. Does our memory contains facts that we have seen or our fantasies? The mixture of both.

In the age of precise information it is a huge problem.

To preserve information, ancient travellers began journaling, money-lenders kept each debt on the special notes. They have externalised their memory. They stored it outside. Somewhere, where it doesn’t get changed with time.

At the moment we use smartphones & cloud services to preserve our memory, following the same idea.

Institutional Memory & Institutional Amnesia

Not only people have memory. Groups of people have it too. Companies, departments or teams have facts & experiences they share. That’s called institutional memory (institutional knowledge).

Institutional memory is a collective set of facts, concepts, experiences and know-how held by a group of people. — Wikipedia

Institutional memory, frequently being kept in heads. That approach has the same problems as when we are trying to remember everything: facts are hard to remember, information is fluctuating in the heads of people.

Also, when a person leaves the group, it takes his part of institutional knowledge with him.

Institution loses part of its memory because of these factors.

“Corporate amnesia” happens.

Knowledge Management

How to solve the issue of corporate amnesia? To re-use the same idea that individuals use: to externalise institutional memory. There is a special discipline for that is called Knowledge Management.

There are some principles to keep externalised information useful.

Tools matter. People usually do what is easy to do. Geeks too. Toolset might play a critical value in success of failure of the processes. Knowledge preservation is a background activity by default. A developer might spend the whole day tuning his text editor of choice, but why should it spend the whole day to figure out how to do something in the wiki? Knowledge management is a supplementary activity, so the wrong tools can easily mitigate all the attempts to do it. Invest some time and money and use tools that make sharing and using knowledge as painless as possible.

Information has a scope(1). Some piece of information doesn’t usually exist in a vacuum. It is related to something in the company: a team, a product or a task. If the information is not related to anything, it should not be stored in the first place.

Just as a variable in a source code, information has its own scope. If you use a counter inside a method only, you make it as a local variable. You don’t create a singleton to keep it. You keep it close to the place where it is used.

Same rule applies to information. That means, that “we would have a single wiki and would store all the information there” approach doesn’t really work well. You will probably need multiple places for the information.

The list of ideas for a product should be stored together with all of the data for that project (in the wiki). If information is related to a specific user story in your backlog — it makes sense to keep in the story (in a bugtracker).

Traceability (2). You store pieces of information in different places, using different tools. But to make the system useful you need to link these pieces together. Do you remember why HTML became such a breakthrough in the early days? If we would have to manually enter URLs for every page, the web will never be as powerful as it is nowadays.

When related pieces of information are linked together, it is called traceability. For instance, one should be able to find the decision behind a user story, if there is a link to the meeting notes (tracing up). Also, she should be able to find a code review with that changes (tracing down).