Dunbar’s number posits that once an organization reaches 150 people, it hits a turning point where additional growth creates obstacles.
Atlassian’s Head of Engineering Stephen Deasy supports this idea while assuming:
“When the team has 15 people, the manager can probably physically see everyone. They can look over their monitor to talk to people and they generally know what each person is working on. At 40 people, team members are sitting on a different floor or in another building. You might have a bi-weekly sync to talk about big milestones. But when you get to 150 people, teams interact on a more transactional basis on projects, and the overall group starts to feel less like a coherent team with a shared mission.”
So how can a Head of Engineering set their team up for success regardless of its size?
In this article, we’ll explore the ideal engineering team structure, highlight the common challenges faced by growing teams, reveal a size-based team structure model tailored for growth and scalability with 7 key principles for effectively scaling your team, and share a real-life example.
Team structuring is more than just who sits where or who reports to whom; it defines how tasks are assigned, how communications are held, and how decisions are made.
In other words, this structure reflects how a team operates. A well-structured team helps to create an environment in which innovation, collaboration, and productivity thrive. On the other hand, a poorly organized team will create confusion, hurdles, and missed opportunities.
By structuring your engineering team carefully, you will foster growth, scalability and, ultimately, the proper foundation for the success of your product.
Several significant challenges stand in the way of growth and efficiency for engineering teams.
Some of the most common ones are listed below.
As teams grow, the once-clear channels of communication can transform into a chain of misunderstandings, delays, and inefficiencies. Vital information might get lost, leaving team members frustrated and deadlines in jeopardy.
Larger teams very often create risks of misalignment between various departments, projects, and stakeholders. Scattered priorities, objectives, and perspectives can ruin projects and negatively impact the efforts of maintaining a unified vision and direction.
As team sizes grow, the processes and workflows strain under the weight of increased workload and project complexity. What once ran smoothly for a smaller team may encounter obstacles down the line.
As teams expand, with a multitude of individuals in the mix, nurturing a robust team culture and fostering a sense of belonging among team members becomes an uphill battle.
Without a robust framework in place to tackle these challenges, they can affect productivity and curb innovation.
When building scalable engineering teams, it’s crucial to consider common pitfalls that could hinder efficiency and growth. Any manager of a growing organization should keep in mind the following 7 key principles while building a scalable engineering team.
Instead of aligning team structures with hypothetical future product architectures, prioritize reflecting the current product architecture. The team structure should mirror the existing design and components of the product rather than trying to anticipate potential changes or expansions in the architecture.
Strive for high cohesion and loose coupling within teams to foster autonomy and agility. Encourage collaboration among developers within a team while maintaining clear communication channels with developers in other teams to ensure alignment towards common goals.
Build cross-functional teams equipped with development, QA, and operational skills, and align services or product pillars accordingly. Ensure every service or component is owned by a single team to foster ownership and accountability.
Foster communication within teams for predictability and efficiency, but limit cross-team communication to prevent increased dependency and blurred accountability. Reserve cross-team collaboration for initiatives requiring collective problem-solving.
Limit frequent team reorganizations to prevent disruptions in software delivery. Recognize that it takes time for new teams to reach their full potential and undergo the ‘forming-storming-norming-performing’ evolution stages.
Consider the complexity of services, modules, or product pillars owned by a team rather than merely the volume of code. Uneven distribution of cognitive load can lead to developer burnout and uneven workloads if not carefully considered during team structuring.
Maintain a small percentage of your engineering workforce as a specialist team to tackle complex business requirements. Rotate engineers from product teams into the specialist team to provide expertise as needed, but avoid treating them solely as a solution to complex problems.
There are several team structure models that product engineering teams can adopt to support growth and scalability. Below, we will provide a size-based approach to team structuring, where each team unit is responsible for a specific product development domain.
It’s important to note that these structures serve as guidelines and may require adaptation based on industry specifics and business needs.
Netflix implements a sophisticated approach to engineering experience.
Led by Kathryn Koehler, Director of Productivity Engineering, the company’s strategy focuses on enabling developer experience (DevEx) and efficiency over mere measurement.
Within Netflix’s platform engineering team, consisting of approximately 450 individuals supporting over 2,500 engineers, Koehler’s 80-person developer productivity engineering team plays a central role.
They are responsible for enhancing the developer experience from code creation to deployment, ensuring that engineers can focus on their core responsibilities without being burdened by unnecessary complexities.
Netflix’s centralized platform team, comprising 150 individuals, develops tools and infrastructure to abstract away complexities, allowing developers to operate seamlessly within their domains of expertise.
To streamline operations, Netflix offers internal customer support handled by a dedicated team. This support structure assists developers in navigating tools and addressing technical challenges, allowing them to remain focused on high-impact tasks while ensuring that critical issues receive prompt attention.
Netflix’s example highlights the importance of clearly defined roles and responsibilities in large teams with complex products. This dynamic is a pillar of successful product development flow.
In this article, we covered engineering team structuring, highlighted common challenges they face, revealed various team structure models tailored for growth and scalability, and provided strategies for effectively scaling the team.
By understanding the importance of team structure, anticipating common challenges, exploring various models, and implementing effective scaling strategies, you can position your team for long-term success.
Kanda has extensive expertise in working with engineering teams of various sizes throughout our project endeavors. Whether it’s 50 or 500 – whatever the organization size you represent, our team of experts is ready to cultivate a collaborative culture and share valuable insights on how to build a scalable team of dedicated engineers and product development experts.
With over two decades of experience in custom software development, we’ve refined the formula for productive vendor-partner teams that seamlessly work together to achieve common goals.
Talk to us today so we can collaborate to achieve your product development goals more efficiently.