Managing knowledge silos in dev teams

It’s 3pm on the last day of the quarter. Your sales team is about to close a huge deal but a part of the product’s code just crashed and you can’t give a final demo until it’s fixed. The potential client won’t sign the contract until he sees this demo. However, there’s only one dev who knows how to fix that part of the code. And he’s on vacation…in a different time zone…for the next 7 days…

 

What are Knowledge Silos

A knowledge silo is defined as a situation in which one individual or team has information that’s not shared or distributed with other individuals or teams. When one person on the team is the only one who can do something, it puts the whole team in jeopardy if that person doesn’t communicate the knowledge, or isn’t available to act on it. Additionally, silos can be detrimental to the employee’s overall mental health and morale if they’re always working on the same thing every day. 

It’s true that silos can be risky and expensive to a business. But sometimes they’re unavoidable, especially on small, lean developer teams. You can’t always “un-silo” your way to the ideal work environment. 

These knowledge silos can take many forms: 

  • Technical skills — e.g. knowledge of a coding language like Java or Python 
  • Ancillary knowledge in some fields – e.g. background in statistics
  • Historical knowledge – e.g. someone who’s been around long enough to know the whole code base
  • Company knowledge – e.g., understanding of other eras in the company’s history, or how the company’s products came to be. 

So what can you, as a manager, do to help manage these silos? 


What Can Managers Do

We interviewed Anne Sallaska, Data Scientist at Uplevel, on her experience with silos on developer teams and strategies she’s seen that help spread and delegate knowledge.  

“The first thing that’s important with knowledge silos is to be aware of them. Because if you’re not aware of them, then there’s nothing you’re going to be able to do or action to take to fix them,” she explained. 

Managers can identify silos through frequent and transparent 1:1s and standups, and use that knowledge to help triage issues and navigate team dynamics.  Culturally, it’s great to encourage your devs to share their own unique knowledge, or seek guidance from those who have it. Set time aside for your teams to work on career development so they can continue to learn new skills, and teach others around them so there’s never a hole when someone is out of office or leaves the team.


Good Documentation is Key

More specifically, it’s good to ensure that your devs are keeping records of their work so if they were to leave the company or be on vacation, someone else could pick up the work.  

Anne explained that documentation like READMEs, Google Docs and/or Wiki pages has allowed her team to help others describe what is going on. This helps other devs who are not as familiar with that particular silo to help guide them and orient them to the code or project. 

Anne also takes advantage of pull requests (PRs.) After she creates her code, she will then create a branch of that code and do a pull request for her peers to review.  

“That’s a way for them to get familiar with the code base if they’re not, but it also allows for checks and balances.” 

Anne explains that spreading out PR reviews help with knowledge silos because they allow people to step out of their usual silo and learn something new, while simultaneously gaining a new skill set for their own career development.


How Uplevel Helps Knowledge Silos

Uplevel is an engineering insights solution that leverages data from developer tools to help reliably meet sprint goals, without burning out teams. When one dev has a knowledge silo where they’re 100% responsible for the work, they can be at risk for burnout. 

One way to use data as a proxy for detecting potential silos are code repositories. Uplevel helps devs and managers view their code repositories, and which devs are working within those repositories to check for knowledge silos. (see graphic below)

How Uplevel Helps Knowledge Silos

By viewing a quick overview of your team and their code repositories, you can  delegate responsibilities among team members to better distribute knowledge. 

Knowledge is Power, if Used Wisely

Silos, and how you manage them, play into important notions of team dynamics and most of all, trust. By identifying who has deep knowledge of what subjects, individuals on the team can be trusted to own certain parts of a project. By sharing what you know with others, you build trust with them and with the whole team so they can know you and understand your perspective better. 

In other words, having a few silos on a farm isn’t a bad idea, as long as the team knows what’s in each one of them and how to get access when needed. 

Now when it’s the end of the quarter and your sales team is alerting you to an urgent bug, you can let that dev enjoy his vacation — you and the rest of this team got this.  

Stay up to date with Uplevel
news and resources