We’ve spoken before about some of the obstacles in scaling and how companies can lose sight of values and company culture in pursuit of growth. But one thing that often gets overlooked is how you can organise your teams from the outset in order to scale smoothly. Tech issues can be as damaging as management issues when your company is on the growth train.
Conor Winders is the master of scaling having founded his own award winning app company, Redwind Software, scaled a team from 30 to over 100 engineers at Mobile Travel Technologies, and grew a team of 50 to over 300 at Verizon Connect. Last year he spoke to us about principles and structures you can organise your teams around for growth.
These focus on the delivery of the product to the customer, Conor explains that if you continue to follow these principles as you grow then there should always be consistency for the end user:
Speed: (Not ‘do everything as quickly as possible’ but get the end product to the customer at a consistent quick rate). To do this: Remove dependencies; ship small, ship often; improve flow; increase speed to customer value.
Data driven: visibility at all levels of the organisation, make informed product decisions, make informed development decisions, understand the health of the platform, the teams and the SDLC
Cost efficiency: Money is a finite resource, you want to achieve the maximum return from every investment dollar you receive, ensure there’s ownership and accountability at every level within a team so that there’s a mutual understanding of the cost in decision making.
These focus on the organisation of people around the product and delivery. Again if these are set up correctly then they shouldn’t be affected by major changes:
Visibility: To Conor it’s critical that everything’s visible to everyone else from the code that gets written to the processes that get used, monitor and measure everything.
Decomp: Equally as critical is removing team and tech dependencies. This is one of the most common issues where maybe only one or two people in a company understand a process, and creates a massive bottle neck in development if they’re not available. Or in tech terms maybe you can’t ship one library without having to ship another, which is inefficient and can be problematic as you grow.
UX: everything is customer and user friendly. This can seem strange to include as an engineering principle but everything should be made with the customer in mind. Each team is responsible for a small part of what goes into the customer experience, but each team should be conscious of how its work fits into the bigger picture.
Autonomous teams aligned to product: Everyone should feel a sense of ownership in their work, that they can support that work and help develop it over time. This means that as your company’s priorities change the work can always be adapted.
Automation: continuous integration and deployment. One of the most important places to invest money is spending it on reducing human hours working on a process, the more these processes can be streamlined the faster and more agile the company becomes.
So these are the key principles that you want to establish right at the beginning when the company is small and everyone in the business knows each other and roles are quite fungible.
As the company and product grow, it’s inevitable that more specialised hires will be made, and from there, specialised teams develop, before finally you get entire specialised departments. This is all perfectly normal, but what needs to be in place is a system for these teams to work together, otherwise you’ll end up with what Conor calls a ‘dependency hell’, where if you’re an engineer you can’t ship your code to production, because you need the support of a QA, who might not be available because they need the time of a DevOps person. As Conor explains, the best solution to this is the cross functional team.
The cross functional team
This isn’t a new solution by any means, cross functional teams have existed for years, but it means a group of people from different departments come together to create one self-serving team that’s responsible for a specific product.
These teams build a sense of ownership over the product to the point that they will see the team before they see their role or department. The individuals within their team can then return to their department and discuss best practices and updates.
An example of this situation that Conor gave, was the work at his current company Administrate where each team has a clear area of responsibility for the platform which looks a bit like this:
Each team has a line of responsibility that’s clear to those in and outside of the team. Within each of those functions you narrow down to individual KPIs and goals correlate with both that function and the wider company goals. This ensures each person has targets to work towards so that the established product and engineering principles are met.
With this structure in place it should also make hiring for these areas more straightforward. With each area you understand what the needs are to improve that area. You might for example need a QA to set the standard for a specific automation the team is looking to implement.
Create a meritocracy
With your principles and structures in place, finally, you want to create a way that your team can continue to level up, not just through hiring more people but through developing the teams that you have.
To do this you want to create a matrix that clearly outlines the responsibilities of each role, with titles going along the top in order of seniority and responsibilities listed going down vertically. Through this you can assess how team members are tracking against responsibilities and see how they align to the OKRs of the company.
Make sure that managers continually run regular catch ups with their team members to see how they’re performing against the outlined responsibilities and look at how each member of the team can push towards levelling up to the next stage in their career. With everyone working towards improvement it can create a healthy culture for the wider company to push onto the next stage. It also becomes clear for those who aren’t meeting expectations how they’re falling behind and how they can get back on track.
Learn how you can grow at Turing 2022
By having principles that everyone follows in their work and that you can derive long-term OKRs and metrics from, and by having a scalable structure in place, it ensures consistency in your output regardless of how you grow.
If you’re interested in finding out more about how you can grow your business sustainably, by learning from industry leaders then book your ticket to our 2022 festival here.