Knowledge Silos

Knowledge Silo's and How to Tackle Them

Sometimes you'll get the situation where a lot of knowledge about some of your software, or a lot of business knowledge is concentrated in a few individuals, or even a single individual.

Unless your compnay only has one person in it, then this is, in all liklihood, a problem that should be addressed and not ignored.

The one truth is that everyone will leave your organisation. It's reality. It may be by their choice, by your choice, or by something outside your control.

There may be a business risk if that one person left the company at the wrong time. Maybe just as you need them to complete a contract you've committed to.

If we're talking about development teams, even without losing that person entirely, having knowledge concentrated in an individual creates a bottle-neck. If that person goes on holiday the team around them may simply be incapable of completing certain types of work. If they are at work, but occupied with something critical, then they may slow down the rest of the team who need the knowledge they have.

The good thing is that there are several good solutions to this problem. The solution depends on why this knowledge silo has developed and the attitudes of the people in the team.

Common reasons for knowledge silos:

  • Team has grown from a small team and they are the only person left with a lot of experience
  • It's about a part of the product that is not being actively developed
  • There is no particular reason, it's grown over time and that person was always selected to work in that area. Once they had a little experience they became the defacto expert
  • No-one else has the technical skills required
  • It's a technology that no-one else wants to invest time in learning (who would want to learn Cobol in current times?)
  • The person won't share their knowledge with others

Strategies for removing knowledge silos:

  • Employ or train people with the missing skills
  • Encourage the team to learn where they lack knowledge
  • Start writing documentation
    • Get new starters to write documentation as they learn, and have it checked by the person with the knowledge
    • Silo'd person - get them to write down what they think someone coming fresh to the project would need to know to get going. Major pitfalls to look out for
  • Encourage the silo'd person to mentor others and transfer this knowledge
  • Coach the person with the knowledge to stop actually doing the work around their area of expertise and instead have them mentor and guide others to do this work

The Person who won't share their knowledge with others

When you encounter this type of knowledge silo first try the strategies above. If none of these work then consider firing this person.

This behaviour is toxic and has no place in professional software development. When you decide to take control of the situation you are able to pick a time for this that minimises it's impact on your organisation, which is a much better position than the sudden unexpected loss of this person.