At Benefitfocus, our goal is to provide anticipatory service to our customers. The fast-paced environment provides excellent opportunities to think differently while solving complex and challenging problems around organization design and scaling the engineering team. The need for around the clock engineering teams that are distributed and in different time zones, became quite apparent as we grew. The below guidelines provide the framework for managing and scaling distributed teams.
Small Autonomous Teams
Design small autonomous teams that are cross-functional and can work independently. A typical engineering team will have 10 or less team members and will be comprised of a Technical Team Lead, Software Engineers, QA and Business Analyst.
Each team is served by an onsite Engineering Manager. At Benefitfocus we draw our organization charts ‘upside down’. Read more here.
Global Framework with Local Implementation
Geographic distance and barriers often make interviewing each member of a distributed team unfeasible. To address this, Benefitfocus CTO Don Taylor provided a framework for local team management. This framework allowed leadership to only interview the Technical Team Leads and Business Analysts. All other team members were interviewed, hired and managed locally. This helped establish accountability, trust and ownership at the distributed teams.
Implementing a centralized service for provisioning virtual desktops is critical to scaling distributed teams. Virtual desktops provide an efficient way to manage the desktop infrastructure needed by the teams, are easier to maintain and provide the ability to respond quickly to the changing needs of the team and the organization.
Robust Training & Exchange Program
Scaling an engineering team requires a significant investment in building a robust training program. We built a comprehensive training program that covered all aspects of healthcare and benefits technology followed by a deep dive into our Platform. Recording these training sessions helped ensure that new team members have access to the complete program.
To organically grow the knowledge base of the teams, we implemented an exchange program where onsite and remote team members traveled and spent time with the teams.
Communication is critical in any team. It is even more imperative in distributed teams. Our teams not only attend the daily scrums, they also provide an end of the day update of the team’s progress, plan for the next day and address any impediments holding up the team. Code reviews and software demos are conducted over video conferencing.
Culture and Core Values
Culture and core values help bring a sense of togetherness between the teams. This is especially important when teams are located miles away in different time zones. Social media tools can play a critical role in engaging distributed teams and instilling the core values and culture of the organization.