# 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!

We are on a mission to bring **teams** closer together

12%  
of employees think their employer does a great job of onboarding new employees  
[Gallup](https://www.gallup.com/workplace/235121/why-onboarding-experience-key-retention.aspx#:~:text=Gallup%20finds%20that%20only%2012,great%20job%20onboarding%20new%20employees.)

51%  
of employees say they’d go “above and beyond” if they were given a good induction and onboarding  
[Hays](https://www.hays.com.au/press-releases/HAYS_1896743)

22%  
of companies do not have a formal onboarding process  
[Harvard Business Review](https://hbr.org/2022/04/onboarding-can-make-or-break-a-new-hires-experience)

70%  
increase in productivity if a well-structured onboarding program is in place  
[Quale](https://www.qualee.com/blog/19-mind-blowing-onboarding-statistics#:~:text=22%25%20of%20companies%20have%20no,program%20have%20better%20assimilation%20rates.)

Companies with great onboarding programs see [2.5% more revenue growth and 1.9%](https://image-src.bcg.com/Images/BCG_From_Capability_to_Profitability_Jul_2012_tcm9-103684.pdf) of the profit margin as against companies with poor onboarding processes. The former also leads to higher productivity levels and faster knowledge acquisition rates.
