Ask HN: How is knowledge stored within your company?

20 points by mkuhn ↗ HN
I am setting up a new entity and want to make sure that things we learn do not get lost; that we have a central place where "all" knowledge is stored and available to anyone within the company.

What do you use to make sure that knowledge does not get lost and that it is accessible by anyone?

If you use a software or SaaS:

- Which one?

- What makes it great?

- What do you miss?

14 comments

[ 0.19 ms ] story [ 47.9 ms ] thread
Previously I have seen Wikis being used for that and one company I worked at successfully used Confluence but I am not sure if that is the right approach.

Hearing about other's best practices would be great.

Confluence works quite well for us.
Same here. Medium-sized company(250+), we used plow for quite some time, but switched to Confluence recently. With Jira as task/bug-tracker works splendidly, and the interface seems to be approachable for everybody.
Airbnb Engineering currently uses Hackpad (https://hackpad.com) for this purpose, and it's working very well. We previously used Google wikis and GitHub wikis, but the poor editing interface was enough of a barrier that few people contributed wiki content, preferring instead to send emails or just explain in person. Hackpad changed the game by making content creation dead simple. In addition, it has good search and organization capabilities.

In addition to canonical, long-lasting wiki content, we also use Hackpad for RFCs to the team (e.g. to gather opinions on the design of a new system or API) and checklists for ops events (e.g. migrating an RDS database to PIOPS). Hackpad's real-time collaborative nature works especially well for these use cases.

Whatever you choose, I submit to you that the most important thing is making it extremely easy to contribute content to that central knowledge repository. The ability to organize and format content nicely doesn't mean much if it's cumbersome to add new content in the first place.

Thank you for your reply, Hackpad does look very promising.

How do you make sure that documents get found and stuff does not get duplicated? Is there a central Place where you store links to important docs?

Hackpad's search functionality is pretty good at ensuring that people find what they need. We do also maintain a Table of Contents pad, which serves as a central place that links to all our canonical content; this helps people find what they need by browsing. This ToC pad is pinned to the top of the Engineering Wiki collection.

One guiding principle we've followed is to favor long wiki articles so that it's easy to see a list of everything you can access from that one Table of Contents. Each pad is then well-organized so that you can search within the article to find what you need. We used to have lots of articles that each addressed just one thing, but that made it hard to locate the right article when you needed it.

Sometimes content gets duplicated, but we just clean that up when we notice it. So far it has not been a big deal.

Dokuwiki: https://www.dokuwiki.org/dokuwiki

Very install to install and set up and the "wiki pages" are saved as plain text files, making it very easy to backup/copy/replicate/whatever. In addition, the syntax is pretty easy to grasp and even non-technical users can quickly figure it out.

http://en.wikipedia.org/wiki/Wiki_software#Enterprise_wikis

What I've seen across companies, it's usually some kind of wiki engine used for internal knowledge sharing.

The tool should support simple integration of media content(drag&drop), rich text format editor, real time document editing with text/video/audio communication support, document version control, workflow, elastic search.

Hand written notebooks and scattered word and spreadsheet documents. We are a computationally-intensive genomics lab in a top-ranked university.
Storing knowledge is a bit tricky. For a starter you have to consider the types of knowledge. Most commonly you talk about tacit[0] and explicit[1] knowledge.

Tacit knowledge is hard to communicate by writing or even verbally. Rather it is mostly transferred via learning by doing. In a software scenario tacit knowledge would probably be the code base. The style, naming conventions and what not of the code is likely to be relatively unique and it is hard to communicate via a document, rather the employees has to get a feel for the code, use and modify it. It takes time and you probably should have some kind of coaching set up for new employees coming in, especially if your company is specialized or uses something unusual.

You should also keep in mind that certain employees may possess unique knowledge and considering the relatively high employee turnover you should make sure that your processes don't fall apart if an employee leaves the company. Don't let people have their own pet projects that no one else knows anything about, especially if those projects are mission critical.

Explicit knowledge is easier to document and you can use stuff like Wikis or Confluence. Explicit knowledge is basically everything you can easily communicate via documents or verbally. So guidelines, processes and such.

If you got proprietary information or personal information of EU citizens you may want to consider a locally hosted solution, especially if you are located outside USA (avoid Google etc). I've used Wikis in the past but also had solutions like word documents with processes.

It does depend on your needs, simple word documents with processes may be enough. I know huge companies like Shell has had moderate success with a wiki solution[2]. I should have slides from a knowledge manager Shell presentation somewhere, will have a look around.

[0]: https://en.wikipedia.org/wiki/Tacit_knowledge

[1]: https://en.wikipedia.org/wiki/Explicit_knowledge

[2]: http://www.ikmagazine.com/xq/asp/txtSearch.Intranet/exactphr... (Old but may be relevant).

Thanks for this. I am definitely looking at how to store explicit knowledge. Tacit knowledge in my mind is a lot about your organizations culture and that needs to be lived.

Luckily being based in Switzerland hosted solutions are not a problem but that is a different story altogether anyways.

Being a new entity, shouldn't you be worried about your product instead?
What if my entity does not produce a product?
I get what you're saying but it's dangerous to just say "oh I'm going to just 'focus on product' and forget about everything else."

There are things one needs to take into account when setting up a business that does not involve the romanticized lone coder in his office at 3 am.