Sunday, May 1, 2022
-
3
min
How to bring an external dev agency aboard
Even when you’ve got a crack team of developers supporting your app in-house, there are times when you need to turn to some external specialist help. But it can be hard to know how to pitch this decision to your in-house team, especially if you’ve not outsourced to a development agency before. You don’t want your own developers to feel threatened or replaced, and it can take some careful planning and management to make sure you don’t upset anyone.
Read: "React Native developers, here are the top 5 reasons why you should consider using Expo in 2024."
Get honest about where the knowledge gaps are
The first conversation to have with your team is around why you’re considering outsourcing in the first place. The tech ecosystem is incredibly fragmented and it’s unlikely that your team will have all of the niche development talent you need for every situation – partly because there aren’t enough specialists for everyone to have one, and partly because it doesn’t make sense to keep someone on tap when they’re not always needed.
As we covered in our article on the risks of hiring in-house developers, most of your team members are likely fulfilling a generalist role, even if they started off on a more specialised track.
Maybe they’re caught between QA and DevOps, or working on the frontend and backend of a product, or trying to build the website version at the same time as the app. Sure, they might be able to make it work for a while, but you can only stretch expertise so far before holes begin to appear in the middle.
The best thing you can do is ask your team to be open and honest about the gaps in their collective knowledge. Chances are your team is well aware of them and is already feeling the pressure from trying to plug them all without up-to-the-minute specialist insight.
Read: This NFT trend won't stop with art".
Show your developers how much they stand to learn
So flip it around. You’re not hiring external specialists because your team isn’t up to scratch, but because your team has so much to gain. Big up how they can advance their own skillset by working alongside developers who have focused for years on a particular niche. After all, in this ever-innovating field, personal development is a motivator for many – and it’s an important part of retaining developers.
To make sure this learning process happens, get your internal team to review pull requests from the agency so that they can see the code and understand what’s happening with it. And see that everyone jumps on the same daily call so they can get exposure to the issues and solutions. At the end of the process, your in-house developers will have a far deeper set of skills from working alongside a specialist agency.
Get everyone talking to one another
When it comes to integrating your internal team and external partner, communication is key. In the past, teams would have had a project manager who shielded agency developers from the client team to keep them free from distractions. But that philosophy doesn’t really fit with the level of technical complexity involved in making apps, and it often causes more friction than it prevents.
What you really need is a direct line of communication between developers. You might have an arrangement with an agency team working on your app’s frontend while your in-house team handles all the backend maintenance. If one team has a problem with something on the other side of the project, they need to know who exactly to contact to get it sorted.
Something as simple as an all-hands meeting at the start of the collaboration can go a long way here. Make sure both teams know who everyone else is and what their roles are, and set clear expectations for their responsibilities to each other. Also, make sure to nominate a release captain – someone with the authority to press the big red button and send the release into the wild – so everyone knows where the buck stops.
If you’re working with a good agency, they will set time aside at the beginning of the project to learn about your team’s structure and how they need to interact with them. At Morrow, that’s part of our sales process – we ask what your existing team looks like, what kind of developers we’re going to be working with, and what technology they know and are motivated by. Talk about compatibility challenges upfront before any paperwork is signed.
Read: "A Guide to Expo’s Environmental Variables (Expo v49)."
Integrate processes with your agency
Direct communication isn’t the only way to glue your two teams together. Even with your developers all talking to one another, it can sometimes still feel like your internal team and your external partner are sitting in separate gardens chucking bits of code over the fence.
Sometimes you need to integrate on an operational level too. We typically work with a Kanban process to burn through a prioritised order of tickets in weekly sprints. With one of our recent clients we synced up with their sprints on offset weeks – that meant we could flag what we needed their backend team to work on, then pick that work up straight away for our sprint the following week.
Tech and automation can also help out here. Let’s go back to that common frontend/ backend split. When that’s the case, both teams are linked by the API and Data Transfer Objects that carry information between the parts of the app. If one team changes something like a data field on their end of the system but doesn’t immediately notify the other team, you’re going to end up with a broken information flow.
Instead of relying just on social communication, you can build an interface that connects these two teams. When one team makes changes, the interface then automatically flags those up for the others and everyone can carry on working together without disruption.
Bringing external developers in to join your internal team might seem like a tough sell at the start, but with enough honesty, communication and integration, it can help your app and in-house talent to leap forward. For more advice on hiring an agency, check out our thoughts on why you should never hire a web dev firm to build your app and why we have chosen to specialise in React Native development.
Read: Enhancing Your Tamagui Apps: Media Queries and Animations.