Scaling your organisation is not easy. Here I'll talk about the 3 most important cornerstones to tackle as you scale your engineering function.
At Poppulo we've scaled significantly over the last 2 years. We've talked a lot about or technology evolution in our engineering blog. Of course that's only part of the picture. Sure, scaling affects your technical choices but it also affects your processes, roles and most importantly your people.
We didn't get everything right but what I felt did bring us success was a conscious focus on 3 key areas culture, alignment and visibility
Culture is rapidly becoming the no. 1 deciding factor in whether someone accepts your job offer and if they stay with you. We all know attracting good people is critical to your success. So as you set out on your scaling journey how do you form or protect your culture? You need to start by identifying what you stand for and what you believe in. Define your values and then model everything else around them. Look for people who will thrive in your environment.
At Poppulo we have a clearly defined set of values:
These values are interwoven into pretty much every decision we make.
We love learning & innovation and so we deliberately foster that culture, which appeals to the type of people we like to work with. We do this through things like research time, training, conferences, book clubs, peer study, EQ and soft skills training. We encouraged our engineers to speak at meetups and conferences, to share knowledge and enhance presentation skills.
Once you start to find the people you like to work with, then you've got to figure out how to organise yourselves and do the work. Go back to what you value. We value collaboration and autonomy in our work. So we organise ourselves into matrix product teams. Cross functional teams who sit together and completely own an area of the product.
Our product teams are typically 4 Developers, 1 PM, 1QA and 1 UX/UI designer. Our teams speak directly to customers and stakeholders, they shadow support calls, they design, build and measure the impact of their solutions and are accountable for the quality of the solutions they are delivering.
However ownership is one thing and autonomy is another. You must trust your teams to make decisions. Arm them with as much information, domain knowledge and access to stakeholders as you can. Set them up for success. Only then will they be equipped to make the right decisions for their product area. This takes patience, especially for new teams, it’s tempting to jump in but it’s the wrong thing to do.
Alignment is key to organisations at any stage of growth but particularly so during a period of scaling when there is likely to be a lot of change and uncertainty. Alignment needs communication and lots of it. What you achieved previously through a quick chat in the hallway, now demands department wide communication, probably filtered through 1 and maybe 2 levels of management.
We have this quote from George Bernard Shaw displayed in our office:
“The single biggest problem in communication is the illusion that it has taken place.”
And I for one have learned that Mr Shaw has a point!
Alignment for me is 2 things:
- Everyone understands the priorities and strategy of the business.
- Everyone understands the role they are playing to move that strategy forward.
We put in place a number of things to help ensure we are aligned. They have evolved over time and I’m sure they will continue to. Here are a few of them:
OKR’s: ORK’s are a fantastic tool for alignment, visibility, and smart measurable results. (Read how google use them here) We have Company, Department, Team and Individual OKR’s across the organisation. Publicly available for everyone to see. We do them quarterly. Our product teams are able to align their goals directly with the priorities of the business.
Our product council meets qtrly & mthly. It’s made up of stakeholders from across the business. The council discusses progress, strategy, innovation and ensures product alignment with company strategy.
Company and Departmental Updates:
Monthly, all hands, focused on product, technical and organisational strategy. Monthly newsletter, with news from around the company.
One on One’s:
We do them weekly. It’s an opportunity to review OKR’s, explore some of the challenges, ask questions or just shoot the breeze. They keep us signing off the same hymn sheet, no surprises!
With growth comes a loss of control, get comfortable with it. Yes you once knew every feature and every bug intimately. You knew exactly what you were building and chances were you knew the customer you were building it for by name. Now you don’t, but it’s ok, don’t panic. You’ve hired amazing people, you’ve given them all the tools to make the right decisions. All you need to do is trust them and give them a safe environment to communicate with you and the other teams.
The side effects of poor visibility can be pretty nasty; duplication of work, blockers left blocking, poor decision making, scope creep.
If you are a manager you might drift into superhero mode, righting all the wrongs.. well, stop! Yes you are the manager, but it’s your job to put in place the channels of communication between teams and the business so that everybody can make the right decisions.
Of course we did make friends with most of the side effects of poor visibility, but we’ve found that the following help us to avoid them (usually!):
Scrum of Scrum Standup:
Every morning managers and team leads gather to give a highlight of daily progress and blockers. Its quick and usually ends in one or two members toddling off to resolve some inter team dependency or blocker.
Demo what you’ve built. This is a 5 minute exercise for each team. It allows everyone to see what’s happening in other areas of the product and keeps the focus on lean development. You should have something demo’able in the week.
Department Kanban Board:
The outputs of planning are epic cards which we put on our department kanban board. It’s a really great way to visualise the work across the department and we gather there weekly for 10-15 minutes to review progress and revise estimates.
Team leads meeting:
One of the most important things is to ensure team leads are not isolated. We do a bi-weekly team lead meeting. We examine flow metrics and team happiness metrics. We discuss the challenges they are having and help to foster a peer support system amongst the leads.
We use slack for team and inter-team comms. Features get channels too. Any stakeholder can join a feature channel to keep an eye on progress.
The solutions I’ve listed in this blog post are not finite and they won’t work for everyone. Part of the challenge is finding out what will work for your organisation. If you are scaling or going through a period of change then the advice I’d give you is don’t be afraid to try things. Listen to your team. Remember your values. Make decisions, and don’t be afraid to roll them back if they don’t work. Throw in some compassion, remember that everybody is trying to adjust to the changes. Systems thinking tells us, when you find a problem try to understand the system that is allowing that problem to happen, then fix the system. And last thing, hire great people, everything is easier when you have great people! Good luck!