How do you ensure knowledge transfer in your company?

・1 min read

Well, the title says it all. How do you ensure knowledge transfer in your company? How does collegue A know, what collegues B, C and D have been up to? And how can collegue A use the other collegues' insights, and source codes if need be?

Do you have a centralized collection of documents? A Forum, a Wiki?

I would be interested to know some established best practices of your workplace.

DISCUSS (13)
 

That's really a hard problem. I have set up an internal mediawiki to capture knowledge that might be relevant to many colleagues in my company. But then it's difficult to motivate anyone to contribute.

 

Similar, we have a points system behind this to incentivize people

 

This is mostly an unsolved problem. People use everything from github wikis to hosted services like quip and google docs. The fundamental problem is that different people want to know different things and the textual format is a very rough first-order approximation of what each person would like to know.

So really as long as you pick something and are consistent it won't make much difference because all reasonable solutions are equally good.

 

Yeah, I've found that we're gradually getting better at this, but it's hard to just tell others to get on our system because you can't really skip steps. It kind of evolved naturally to fit our style.

And we still have a long way to go, but I feel like we're improving by combining an emphasis on good habits with a realism that good habits are hard to build.

 

This is one of this topics which importance is underestimated. Keeping centralized collection of documents is common practice which probably has many problems because it's structure in time become a mess, people are not willing to contribute, the technology (and even solutions in projects) is changing so quickly it's impossible to keep documents up to date.

The very important thing here in my opinion is not even tools we are using (although they for sure can help) but developing habits to share knowledge, ask and discuss, update documents when we find out about something

Once I was working with a collegue who has this habit that when he managed to solve a problem, he discribed and show me this. I really appreciate this as I learned a lot from him this way.

Everybody knows that writing documentations from the begining is hard and time consuming. So basically I think we should focus on process of adding content, not only container of the content.

 

We'll always be inclined to try to solve problems with technology answers. But I reckon this is a human question with a human answer.

In my experience, the absolute most effective knowledge transfer is pair programming. Point at things. Talk about the design. Explore together. A shared experience is a deeply helpful learning and memory tool!

(Plus this is multiplicative; i.e. knowledge spreads as person A pairs with B for a day, then B with C while A pairs with D, and so on.)

 

Frequent meetings, code reviews and asking for help are some of the main ways our team gets the information circulating. It is time consuming but, it's definitely worth it.

 

Agreed, face to face human experiences have a much higher bandwidth and memorability than emails, wikis, and docs.

 

I am making a BIG Open Source tool for such purpose. If you want to know about it in 1-2 (I hope so) months, then follow me here or on twitter twitter.com/not_borats_code

Spending all my time and working full-time on that

 

I recently found knowlocker that solves this specific problem quite well.

Imagine you have 70+ folders on google docs and you want to show a new employee 10 documents spread amongst all of those different places.

On google docs, you'd have to copy and move docs to do that...

...but with Knowlocker you can map each document, a discussion from Slack, sprinkle some files from dropbox, record a welcome video and display it all on a single channel for new employees or yourself to browse when the information is needed and others in the team can contribute.

And that's just a part of it.

 

Interesting question as there's obviously no best way to go about it. In my org, we generally make use of Microsoft Teams for this sort of thing. Assign each group (however you want to divide it) to a Teams channel and use it to discuss any new app, API, whatever you've been using recently. Also gives an accessible platform to ask questions of other people that may be working on separate projects.

 

different approach for different people

  • senior
  • management
  • user
  • junior
  • same position

senior

Send email to let them know

management

Let them know if necessary. Maybe just design if required or let them know have this thing

user

No technical knowledge but just business knowledge. Mainly requirement document, demo, and communication

junior

Example. Documentation above the source code. Email notification. Face-to-face discusssion

same position

Discussion on the design. Email notification.

Please let me know any improvement on my method if you have suggestion.

 

This might not be exactly focused on KT, but it is probably one of the problems it solves - github.com/airbnb/knowledge-repo

Classic DEV Post from Mar 21

Is it just me or are we in a low-hype phase?

Software goes through a lot of hype cycles: New frameworks, NoSQL, Blockchain, ...

such software.. much wow!