
Building a high performing engineering team
Building a strong team culture is the first step to creating a high performing engineering team. A strong culture guides the way teams decide and think through problems. If you can stimulate this as a manager and speed up the team’s progress you will continue to deliver increasingly effective results. This post aims to provide you with some activities, tips and resources to help build a great team culture.
Building Psychological safety
The most important element of building a successful team is creating an environment where everybody has a voice and feels like their ideas are heard. The team often have a variety of personalities so this may not always be as easy as it seems. Meetings can often be one-sided if your team has some dominant personalities. As a manager, you mustn’t let them guide the conversation down a single path asking explicit questions from typically quieter individuals. Over time, these individuals will become more engaged and open during meetings providing paths to solutions that had been unexplored in the past.
Common anti-patterns that erode psychological safety are micro-management and mistrust of the team or an individual’s ability. Manifested both passively and actively, a passive act of mistrust is holding back important tasks and information from the team because “they would not know what to do with the information” or “it is too hard for them”. Ideas like this are self-fulfilling, while sometimes you may need to hold back something more often than not you will get better results by sharing it with the team. Knowing when to delegate can be hard but an easy rule of thumb is if it is repetitive and complex task consider training up a team member. This shows them they can be trusted with complex tasks, keeps them aware of broader issues and helps them achieve more senior responsibilities.
Teams that display high degrees of psychological safety don’t always look for democratic decisions or reach consensus. The key is to ensure individuals are not held accountable to mistakes, encouraging out of the box ideas. This does not mean that mistakes are acceptable rather used as a learning process. A clear process should be in place to prevent, monitor and learn from. It should include the whole team in this process to ensure that everyone knows of what happened and how to avoid falling into the same trap again. Great techniques I have used are Pre/Post mortems, Root cause analysis (5 Why’s) and Retrospectives.
If an individual needs to be accountable for an incident, be sure to provide feedback immediately and in private. Feedback should be given with enough detail so the person is clear on the impact of their actions. A good framework for providing feedback is the Situation, Behaviour, Impact (SBI) Model. Conversely, be sure to recognise and praise successes using the same model.
Quantum team management
James Everingham of Instagram introduces the concept of “quantum team management”. Quantum team management suggests that when a manager states their observations it introduces a bias, limits the number of outcomes and your path to success dramatically.
The manager steps up to the whiteboard and sketched out a solution to their engagement problem, and, just by her seniority and the power behind her suggestion, she closes off the possibility of her team producing a superior solution.
As a manager putting more responsibility in the hands of your engineers, equips them to develop more effective outcomes. Rather than directing engineers toward a specific solution, try to ask questions that make them conclude on their own, keeping the options for the solution open.
TIP: During planning take a step back and let your engineers or tech lead guide the direction of the meeting, only step in with questions once the discussion has stalled or is going off-topic.
Establish Values and Expectations
Each member of the should clearly understand expectations placed on them as a member of the team and the organisation. This is of particular value when you are forming a team or going to lead a new team. There are several ways to define values and expectations that vary depending on the responsibility of the team. For project teams, it is great to clarify not only the expectations of the team but go further to define the goals of the project and how decisions will be made.
When forming a new team, start with a team charter for the team. A charter defines the rules of engagement which help explicitly identify the expectation from peers on the team. Setting these values helps set the stage for interactions on the team and with the broader organisation. It can also be used as a tool to discuss with underperforming members as they contributed to the initial set of values. The values should be revisited each year for long-running teams to ensure they remain on topic and relevant for each team member.
Health Checks
Once your team is up and running its good to check in regularly to ensure the team is running smoothly and has everything it needs.
There are two well-established health checks one from Atlassian the other from Spotify. Both guidelines focus on getting an understanding of how your team is going in key areas. The Atlassian health check has a more of a project flavour, focusing on ownership, goals and shared understanding, making it highly suited to product style teams. The Spotify model has a lower level focus covering topics like the ease of release and enjoyment.
The health check is a great tool to help identify an area to focus on and improve over the quarter and is good to catch any recurring issues brought up from retrospectives. To make health checks valuable create an action plan to improve one or two key areas that have been highlighted “could be better”.
I hope this article has stimulated some actionable ideas to stimulate engagement in your engineering team. I strongly recommend following the links in this article as they add a lot more depth to the ideas that are mentioned.
