Observations on Scaling Engineering and Product Teams
Growing pains. We’ve all gone through them, in both our professional and private lives. It’s where we push beyond our comfort zone, test ourselves at a different level on a different stage. Start ups are no different, what first begins as one or a handful of people’s idea develops into a company with a dozen people and soon a company with 100 people or more. Scaling can be painful, but it’s a necessary step to get to the next level. At Monese, we’re currently in our scaling phase and I wanted to share some observations from our journey so far.
Process is not your enemy
Move fast, iterate, stay lean — that’s the Silicon Valley mantra and we subscribe to that like hundreds of others. However, being lean doesn’t mean not having any processes in place. Once you start to hire more developers, designers and testers it’s important that everyone is following common processes to ensure that requirements are communicated clearly, targets are aligned and bugs and issues are triaged effectively.
Just over a year ago, Monese was a small team split across offices in the UK and Estonia. In the early days, a startup is not too dissimilar to a small family business. Everyone knows each other and spends a lot of time together. Communication is relatively easily (if sometimes heated and passionate) and everyone is aware of the current priorities.
The product was only available in English, had one UK account and one price tier. Today, we’re available in 9 different languages, support both UK current accounts and European IBAN accounts and have multiple pricing tiers available for users to choose from. In a short space of time, our product has become vastly more complicated to develop and test against. We’ve also grown to a team of more than 100 people split across two countries.
With a team that’s scaled relatively quickly, we’ve encountered some of the following issues over the past few months:
- Quality issues due to moving fast and having lightweight documentation. Once you start to onboard more engineers, it’s difficult for them to learn the ins and outs of the product quickly without clear documentation
- Communication issues — particularly with scaling two teams in two different countries
- Personal development issues: suddenly team leads have 10 people in their team instead of two. 1-on-1s, personal development and HR related issues can start to take up a chunk of time and you need process and policies in place to handle this
- Customer support is not kept up to date with the pace of change of the product. As our velocity increases, the ability to continually document and explain the rapid changes to our support teams becomes critical to business success
- Automation challenges — as you scale your product and business, you cannot possibly hope to keep manually testing or manually supporting tasks
- Prioritisation issues: When you only have two engineers, you accept that you can only focus on one task and ruthlessly prioritise. Suddenly when you have 15–20 engineers, you start adding more streams of work. It’s easy to get distracted from your core vision.
We’ve been working hard to improve our processes with the overall goal of improving our product for our customers, and ensuring we are delivering value more often. Here are some of the things we’re trying to address from the main issues listed above:
- Bringing on board more Product Managers, Analysts and Architects to ensure features are well thought through, documented to a good enough level (not 100 pages of documentation) and are then retrospectively documented when shipped to production to help knowledge transfer
- Introduce feature teams or squads. This model is well documented by Spotify, so I won’t go into too much detail here. The idea here is that full stack teams, with regular travel between Estonia and London, working towards a common goal, will improve communication and help us remain lean
- Leadership roles to be focused more on helping facilitate, empower and develop the wider team. Typically, in the early days of a startup, leaders are very hands on. As the team grows, leaders need to step away, get some distance and help team members grow
- Involve customer support early in the product discovery phase with clear communication of the roadmap and upcoming releases. This helps customer support plan ahead of new releases instead of discovering a new app flow when a customer calls up to discuss an account issue
- Prioritise automation testing and automation of business process that involve large amounts of manual work. We recently progressed our KYC process so that the vast majority of accounts are created automatically without the need for manual involvement
Stay true to your vision
As you grow, it’s easy to become distracted from your core vision. Monese was setup to help people open a bank account who normally struggle to open an account with one of the typical high street banks. For our customers, opening an account can be immensely difficult.
When you’re new to a country and you can’t open a bank account, you’re suddenly excluded from renting an apartment, setting up your broadband bill, getting paid — your life is essentially on hold. Why is this the case? In the UK, most banks don’t care about customers unless they’re credit worthy. If you don’t have a UK address history, there’s a slim chance you’ll be eligible for UK credit products.
Our mission has always been to help these customers open an account within minutes so that they can progress with their life. They can rent an apartment, they can set up broadband, they can get paid by their employer. They don’t need to worry about getting an account. In the latter half of last year, we expanded to Europe with the same mission — to build a truly inclusive banking service by removing legacy bureaucracy that has no place in modern banking.
When you have 100+ people, it’s important that the company is constantly reminded of this vision. It’s easy to get distracted by competitors or what other people are doing. New starters might not be as close or as emotionally invested to the original vision as early joiners, therefore it’s critical that it forms part of the induction process and is regularly communicated to the wider business through all hands and weekly newsletters for example.
This also helps us stay focused when we prioritise work for the coming quarter, we score customer value highest when we prioritise new features. Customer value is aligned to our core vision, if the proposed task or feature scores highly and is aligned with our vision, it’s going to be top of the prioritisation pile.
Listen to your customers and your employees
Setup a user testing culture. We didn’t have one this time last year. In the early days, it’s OK to trust your gut and ride off the success from your initial idea. As your product evolves, you have hundreds of thousands of customers (potentially) using your product each day or each week.
Great ideas for improvement and prioritisation will emerge from here. Equally, customers can quickly invalidate a new idea that you thought was going to be a great success. This prevents wasted time, money and effort on features that nobody is going to use.
We hold user testing sessions every Friday, sometimes in person sometimes over Skype. We also frequently send out surveys to our wider customer base to test assumptions that have popped up during our own data analysis or user testing sessions.
The product roadmap should also evolve from internal employee input. At Monese, everyone is a stakeholder in the business and great ideas can emerge from anywhere in the business. We have an internal wall that we use for new ideas, and people can star their favourite ideas to be prioritised.
Always be learning
Lastly and most importantly, always be learning. As we scale, there are lots of things we’re going to do that are wrong, there are going to be some things we try that work. The things that work need to be taken and improved upon. Scaling companies cannot become complacent by early stage success, every day is a new opportunity to ask two key questions — how can we better serve our customers, and how can we better improve the way we work?