These are some thoughts that <a href=”http://www.branimir.com”>Branimir Dolicki and <a href=”/lars”>I, generated while developing Knowledge Management for Siemens. I hope to one day put reality behind all this and see how it works in real life.
The huge picture
What is “knowledge sharing” or “knowledge management” (km) anyway? It’s basically people teaching each others. So a km system must ultimately be built on ideas of how people learn best. Since some people are better teachers than others, we will want ways to help users improve their teaching skills.
Why do we want to share knowledge? We assume reasonably that having people teach and inspire each other, each individual will grow personally by both the learning and the teaching. The company will benefit directly from more knowledgable and inspired workers, and indirectly by avoiding duplication of efforts.
What is knowledge anyway? Without getting too philosophical, it’s basically information that can be put to use. So we want to help and encourage people to express themselves in ways that are of use to other people. In other words, to put themselves in their reader’s place. This is something software can never do by itself.
The management task
Sharing knowledge is not something that will be achieved by software alone. Software can facilitate things but it cannot overcome organizational and personal obstacles. If employees are rewarded for being the only person possessing certain knowledge, there will never be be much knowledge sharing going on. So we must make sure we reward good teachers.
The big idea
We want to encourage users to contribute by making it easy and imposing very few restrictions on the content. If the user feels like sharing something, it’s probably important to her, and she probably knows best how to structure her idea. It might not always be the case, but we need editors and other people, not software, to help users become better teachers and writers.
To avoid stupid postings taking up thousands of people’s times, we make tools available for estimating the quality of an entry, and to rank and sort by this estimated quality on every list of entries ever shown.
We obviously want to let people browse the knowledge base by categories and do full-text search.
How it could work
The basis is text. Users can write a piece of text that they want to share with other users, be it everyone, registered users, a predefined group of users, a specific list of users or none at all (private). It’s just a simple HTML fragment, anything from one line to a chapter of a book, full text indexed, and can possibly have attached files. We keep all versions of entries and files.
To help users link the knowledge base, we offer a very simple way to link to another entry, e.g. by just saying [other-entry-key], which is then translated into a real link when the entry is inserted into the database.
To help users find information, the entries can be categorized in multiple categories. The author can suggest categories to put it in, as well as new categories altogether. The administrator can (if he so desires) approve both categorization of an entry and new categories.
To help users prioritize, entries are rated, both explicitly and implicitly (“votes”). Users can explicitly rate an entry on a scale from 0-3, 0-5 or a similarly small set of rates; we don’t really trust explicit rates, since people tend to be lazy at rating, and only gives either top or bottom rates. Thus explicit votes have a low weight. Users can choose to send an entry to another user (“send this to a friend”); we give this form of vote a high weight. We also track how many users have read a particular entry more than once, and count that as a vote for that entry. We count a link to another entry as a vote for that entry.
We also rate the users. A vote for an entry is also a vote for the author. The more highly appreciated the author is, the more his votes count. We help users evaluate authors and voters by letting them see contents contributed by each other’s, possibly including their overall rating.
To help users explore the knowledge base, we offer links to related items by categories, and by “users who liked to this entry also liked to …”, preferably giving priority to entries the user hasn’t seen before.
To support collaboration, users can comment on entries, and authors can let other users in as co-authors. Comments on an old version are marked as such with a link to the version they’re commenting on. We might need a way to hide a comment from the default page in case the author takes the comment seriously and changes his entry.
To support the evolution of the knowledge base, an entry can be marked as deprecated by the author or the administrator. A deprecated entry can be taken over by another entry, which is then the current (“this entry has been succeeded by this entry”).