How our app development team structure helps us create lovable apps
If you’ve read our blog, you’ve seen posts about how we design and engineer different apps and digital products. And how we apply technology and tools to do it.
But we haven’t written much about how our talented team members work together — and specifically, how we structure our teams. Our organizational structure and team philosophy has evolved quite a bit since ArcTouch started. Today, we have more than 300 active team members — and a matrixed product development organization that offers our clients the combination of deep, specialized expertise and a wide range of capabilities.
To understand how we got here, it’s helpful to look back to the app industry’s early days and the start of ArcTouch.
Early days: An engineering team … and then design
When ArcTouch started in 2009, we focused exclusively on engineering — because in the early days of mobile, making something that simply worked well on the iPhone was the driving measure of success.
Those early apps were pretty limited, largely because of the device capabilities and the immaturity of the App Store itself. Our team was primarily an engineering and QA team. I was the technical co-founder and de facto engineering manager.
Within a few years, as iOS and Android matured, user experience design became a priority. So, ArcTouch started hiring app designers. And as the industry matured even further, we added product managers and mobile strategists to offer a full range of product development services, from strategy and design to engineering.
Those high-level functions — strategy, design, and engineering — are how we defined our teams for several years. In those early days, our org structure looked like this:
App industry maturity and growing pains
The evolution of the app industry continued to become increasingly specialized. We primarily worked on mobile apps during our early days. However, the growth of the Internet of Things and connected platforms of all types created new opportunities. And those opportunities demanded more specialties to match the increasing complexity and nuance in digital technology.
As our business continued to expand, our strategy, engineering, and design teams grew very large as well — and we continued to have a single leader for each team. As the head of engineering, I had over 100 direct reports at one point!
ArcTouch had reached an inflection point.
We recognized that we needed to change our organizational structure to meet our clients’ needs, to provide professional development for our team members, and to help our leaders be successful in their roles.
In what represented a big change for our entire company — a project led by our general director Rodrigo Valentim, and involving many team members — we reorganized into a matrix product development structure.
ArcTouch matrix organization: Functional teams and project teams
A matrixed organization allowed us to easily create more practice areas for our team members based on their functional knowledge and specialized expertise. Meanwhile, for each new project, we could select team members across the different disciplines as needed, based on the project’s requirements.
Our first matrix organizational structure looked like this:
Functional teams (the columns in the matrix)
We saw a big advantage to grouping team members with similar expertise into functional teams. They could learn from one another, challenge each other, and ultimately develop the kind of deep expertise in different areas that our clients expect from us. Functional teams own the best practices in their respective areas. Functional team members are responsible for sharing this tribal knowledge among each other and with other functional teams across the company. And as our industry continued to evolve and new technologies emerged — e.g. voice applications or blockchain — we were able to add new functional teams.
We called these functional teams “chapters.” We grouped these chapters into two areas:
- Technology group — This group represents what we called “engineering” in the past, and includes specialized technical expertise like iOS, Android, Web/Fullstack, .NET, Quality Assurance, Cloud Services, and DevOps.
- Product group — This group includes experts in the areas of product management, project management, user experience (UX), and user interface (UI) design.
Each functional team had a leader, responsible for managing the people on the team, as well as establishing best practices and identifying key industry trends within their practice area. Each team was limited to 20 members. For functional areas that had more than 20 people (such as iOS developers), we created multiple chapters, each with its own leader.
Project teams (the rows in the matrix)
While the functional teams represent our organization’s reporting structure, the cross-functional project teams are responsible for ultimately building the lovable products. For each client project, we typically start with a discovery process that helps us define a product’s features and capabilities. From this, we determine the specific skills and expertise needed, and then staff the project team with the right people across multiple functional teams.
Why we needed to rethink our matrix organization
We recently made a big change to our matrixed org structure. While the idea of a “chapter leader” served us well for a few years, we realized that as we continued to grow, the chapter leader role needed to evolve. Those who were in this role felt unable to balance both managing people effectively and ensuring the proliferation of the best practices and technical knowledge of the chapter.
So, we determined the best path forward was to split these responsibilities into three different roles:
- Team manager: This person manages the team members, and stays current on trends and innovation in their functional area. Team managers ensure best practices and tribal knowledge are developed and shared among team members. They are advocates for their team members’ career development, making sure they have the tools and training needed to do their work and advance in their careers.
- Head of department: This person serves as an enabler for a group of related functional teams, ensuring the managers have the resources to manage their teams effectively. They align each team’s work and process with our overall company strategy and product development methodology.
- Evangelist: This person is the ambassador for a group of related functional teams, both inside the company and externally. They are able to articulate the expertise and experience of our teams to clients. Always in the know about broad technology trends that impact our industry, our evangelists participate in strategic discussions with new and existing clients to help determine how technology and design can help their business.
With these additional roles, here’s what our matrix org structure looks like now:
We recently piloted this new structure with 80 team members and the results were positive:
- Team members felt their career development was a higher priority than before.
- Former chapter leaders (now functional managers) felt they were better able to focus on specific tasks and perform at a higher level in those areas.
- The overall quality of the teams’ work improved.
Based on these results, we adopted this new structure across the entire organization.
Why our customers like our matrix org structure
A driving factor to evolve our matrix organization was to improve the work-life balance of our team members. Providing a great place to work is an important part of our company values (as it should be for any company).
However, our organizational structure is also the foundation for how we build lovable apps. Our clients love our matrix approach to product development because:
- Deep expertise: Our range of functional teams have deep expertise in specialized areas that are hard to find among individuals, freelancers, or small consulting companies. Across a functional team, there’s a collection of knowledge that is only a Slack question away. When our clients hire us, they’re not just getting assigned specific iOS developers or UX/UI designers. They gain access to a much larger functional team.
- Institutional knowledge: Collectively, our teams have thousands of years of combined experience and knowledge in building apps and digital products. And our org structure helps us continually build upon, share, and retain this institutional knowledge.
- Continuity: We work hard to build a workplace where people want to stay and grow their careers. And, though we always are sad to say goodbye, when our team members depart, their experiences and knowledge have already been shared among their functional teams. This provides project continuity to our clients, during staff changes or planned vacations.
- Flexibility and scalability: Because our functional teams are so deep, when it comes time to define project teams, we offer lots of flexibility. And as projects grow or shrink in size, it’s easy to scale the team up or down.
We’ve proven time and again, that with a matrix organization our clients gain the benefit of our combined skills and knowledge. There’s no technical challenge or UX design question that’s too difficult or that we haven’t seen before. With this “collective IQ,” our clients are much more likely to succeed in building lovable digital experiences with us as partners.
Need help building apps or digital products?
ArcTouch has been creating lovable apps for companies of all sizes since the dawn of the App Store. Want to build something awesome together? Contact us to get started.