Breaking down knowledge silos in dev teams.

April 10, 2023

Engineering

A knowledge silo occurs when information is held by one individual or team but not shared with others. Imagine if that expert goes on vacation, leaves the company, or gets hit by a car? Silos can also harm employees' mental health and morale if they constantly work on the same tasks.

Knowledge silos can appear in several ways:

  • Technical skills – such as expertise in a programming language like Java or Python.
  • Ancillary knowledge in specific fields – for example, a background in statistics.
  • Historical knowledge – like familiarity with the entire code base due to long-term involvement.
  • Company knowledge – including awareness of different periods in the company's history or the origins of its products.

Here are a few tips on how to avoid knowledge silos in dev teams 👩💻:

Good documentation

In particular, ensure developers document their work, so others can take over if needed during vacations or departures. Documentation, such as READMEs, Docs, or Wiki pages, helps unfamiliar team members understand and navigate specific code or projects.

Rotating developers in meetings

Rotating developers when interacting with other teams is a wise approach to ensure knowledge is distributed.

It is important to exercise common sense when rotating tasks among team members, especially in cases where a follow-up story is technically related to a previous task. It may make more sense for the initial developer to handle such tasks, rather than forcing rotation for the sake of it. However, in general, rotating tasks is a good practice that helps to prevent knowledge silos and ensure team members gain experience with different aspects of the project.

Avoid cherry-pick

Upon completing a task, the developer should check if any team member requires support. If not, they should proceed to the next top priority ticket without cherry-picking. Following this approach leads to a natural rotation of tasks, ensuring equal opportunities for all team members.

Pair programming

Pair programming is another effective way to share knowledge among colleagues. Pair programming is an Agile software development technique originating from Extreme programming (XP) in which two developers team together on one computer. The two people work together to design, code and test user stories.

Knowledge is power, if used wisely!

More Reading

We are on a mission to bring teams closer together
12%
of employees think their employer does a great job of onboarding new employees
51%
of employees say they’d go “above and beyond” if they were given a good induction and onboarding
22%
of companies do not have a formal onboarding process
70%
increase in productivity if a well-structured onboarding program is in place
Companies with great onboarding programs see 2.5% more revenue growth and 1.9% of the profit margin as against companies with poor onboarding processes. The former also leads to higher productivity levels and faster knowledge acquisition rates.
Integrations for your workflow