Search code examples
knowledge-management

What are best practices for transferring knowledge?


If you end up in a situation that main developer of project you are working on decides to leave.

He has all the knowledge, been in project from it's very beginning. If you are lucky you might get something like two month of him still on a project, if not it might be just a month leave notice.

What are best practices for knowledge drain, transfer?

What has proved been usefully for you in past? Pairing, presentations, documentation?


Solution

  • I think regularly scheduled knowledge sharing sessions between paired developers works well. Make sure that at least 2 coders have some experience with each part of your code base.

    We made a Knowledge Sharing Chart which listed each developers name in the margin and each project across the top. We put a green symbol in the box that would line up the primary developer with their project and a yellow symbol that would line up the secondary developer and that same project.

    It was easy then, to go down the line of each project and ensure it had at least 2 marks. If it didn't then at our next major meeting we would let the developers decide which project they were secondaries on, but they all had to be a secondary developer on at least one project. This way they are learning about the projects they have some interest in and working with the developers of their choosing.

    Some large or system critical projects had 2 or 3 secondaries. Each month we would schedule in knowledge sharing time in two hour blocks. You'd swap between going to your secondary project and people coming to your primary.