To build a great software product, teamwork must extend across developers, managers and executives. Everyone needs to understand each role’s value–you can’t have an effective team without a good coach and vice versa. It takes a culture built on empathy, trust and shared responsibility with the right amount of ambition and personal connection to make the dream work.
It isn’t easy to achieve this balance, but here are some tips to help your team become healthier and more effective.
Watch out for Knowledge Silos
When too much unique knowledge is stored in one person’s brain, your ability to get things done depends on their capacity, which can jeopardize the team and the entire organization. Some silos can be good, but only when everyone on the team knows what’s in each one and how to access the information.
Knowledge silos can take several forms:
- Technical skills, like being the only one on the team to know Go or Python.
- Ancillary knowledge in some field, like a background in statistics.
- Historical knowledge, like a developer who has been there from the beginning and knows the whole codebase.
- Institutional knowledge, like understanding larger business and project strategy and the history of the company.
There are some great hacks for overcoming knowledge silos. Simple awareness of who is good at what–or what background everyone has–is a great place to start. Leaders can then think creatively about team collaboration like pair programming or assigning pull requests based on each individual’s knowledge. Pushing each developer to assess their own silos can help set the team up for better knowledge sharing during impromptu sessions or scheduled meetings. Prioritizing documentation is a good way to ensure developers share what they know. Additionally, using brown bags and demos can help your developers hone their teaching skills. These strategies are a great way of investing in your team’s future velocity.
Focus on the Individuals That Make up the Team
Fast Company published a great article about the different personality types that make up a great team:
- The brain pushes others to take action in pursuit of a goal.
- The voice gets the big picture and motivates the team.
- The sharp eye focuses on details to get things done the right way.
- The heart promotes community, consensus and collaboration.
Thinking about these four very different traits and identifying who plays each role on your team can help you build a harmonious group—while ensuring the strengths of each individual are emphasized and appreciated.
Foster Empathy and Build Trust
Having empathy for your team often means finding a balance between the desire to win or hit certain goals and understanding the different needs of each teammate. As a manager, you should push yourself to ask thoughtful questions that put you in your developers’ shoes.
Empathy builds trust. So does:
- Supporting developers at their unique levels.
- Nurturing a culture of healthy sprints and personal well-being.
- Using data–and not just a gut feeling–as a starting point for improvement
- Clearing roadblocks to productivity so that teams don’t feel overloaded.
- Granting autonomy to individual contributors.
- Consistently accomplishing goals as a team.
- Being transparent with challenges the team is facing.
- Sharing data across the organization.
Things that tend to erode trust include:
- Stack-ranking developers based on lines of code.
- Rallying around ambitious deadlines at the expense of burnout.
- Using data to demean your team members.
- Enforcing a productivity quota.
- Managing with a top-down perspective.
- Limiting data to leadership.
These tips help teams avoid burnout, which is a surefire way to wreck a team. The World Health Organization (WHO) defines burnout as “a syndrome conceptualized as resulting from chronic workplace stress that has not been successfully managed.” So this isn’t just an individual’s personal problem–burnout is a sign that something is wrong within your organization.
Understanding knowledge silos, emphasizing individual strengths, cultivating empathy and building trust are the foundations of a strong developer team. Once you have those covered, you’ll be on your way to healthier, more effective teams.