When it comes to building an app product, the common opinion has always been that outsourcing things to a development agency is too risky. It’s not the same as outsourcing your marketing or bookkeeping, after all. The tech is the heart of your offering, and it can feel unsettling to hand over control and influence to a third party.

So is it better to build an in-house development team and keep all your power?

It’s true that working with an outside agency comes with some uncertainty. Niche technical specialisms mean there’s a unique onboarding process to follow, and being left without any developers if the relationship sours could be hugely damaging.

There’s a fallacy here, of course: building an in-house development team isn’t exactly risk-free either. If you’re planning an app build and considering going down this route, here are some reasons to think twice before you do.

Read: "Your first call with Morrow: How to prepare and what to expect".

Hiring blind

If you’re going to build an in-house development team, you obviously need to find and hire developers. But recruiting the right expertise takes more than just a job description and some trawling of LinkedIn. And if your hiring isn’t spot-on, it’s a big gamble to take for the technical foundations of your product.

When you’re building a team from scratch, the chances of knowing how to recognise what software talent you need first time round are usually pretty low, while the risks of making a bad hire can be huge. So you’ve got to factor in what kind of hiring and interview process you want, and how to test candidates thoroughly. For our top tips on how to bring the right people on board, see the Morrow guide to hiring and retaining brilliant developers.

Read "3 signs your internal dev team needs support on the scale-up journey".

Training from scratch

Once you’ve got your developers in, the next step is to train them. Without suitable training your team won’t be able to perform at its best, no matter how talented the individual members are already.

If those developers are the first recruits for your team, you’ll have to face the costs of hiring third-party training providers as well. But with software development there’s no real substitute for on-the-job training and learning from the expertise around you.

This is where the gears of an in-house team almost always creak and buckle. By contrast, agencies will already have well-oiled training processes in place. And an in-house team assembled from scratch will be hard-pressed to keep pace.

Limited experience

When we say experience, we’re not really talking about what developers bring with them to a team. Obviously, an agency can hire fresh developers just as much as an in-house team can shoot for senior expertise. What we mean is more about the experience they’ll gain on the job.

Take a task like integrating mapping into a product. For an in-house team, you need to overcome the implementation hurdle for the first time, and once the maps are in place you’re unlikely to need to do that again. And when you’re only doing the job once, it might look okay, but it probably won’t be as good as it can be.

With an agency team, developers get exposed to multiple projects, and solve the same problems over and over again in different contexts. That experience soon stacks up, so that when it comes to integrating maps into your app, they’ll be able to leverage that learning to deliver a much more optimised solution.

Less room for scaling

If you’ve got investor deadlines looming or users clamouring for a new release, an in-house team is going to have limited options when it comes to rapid scaling. Bringing anyone new in to meet the demand means going through the whole hiring and training process all over again. And what happens to those new employees once the rush is over?

With a digital agency you’ve got much more opportunity to move fast. At Morrow, we can easily deploy our developers across a project when the need ramps up. They’re already onboarded and trained up, so you can have more hands on deck within weeks rather than months.

Under-utilising expertise

Even if you can get an in-house development team large enough to handle rapid scaling projects, having those numbers on tap isn’t always the right answer. Typically they would all be full-time employees, but there are some roles like project manager and QA tester that you won’t need every day of the week.

That might not be a problem if you’ve got money to spare. But it really is a waste of resources and valuable expertise to have half your team sitting on the bench three days a week. Not only that, but tech talent needs to be challenged and deploy their knowledge – if they don’t feel they get that in your team, they’re likely to move on.

Diluting specialist roles

For product teams trying to get around the problem of under-utilised staff, one solution is to generalise team members. For example, to avoid having two people twiddling their thumbs for half the week, your QA tester could double up as your project manager.

That’s not necessarily a bad solution but it is pretty risky long term. Because tech is such a highly specialised industry, it’s rare that you’ll find someone who can develop the right depth of expertise in two separate roles, and do both at 100%. We could tell you plenty of stories about web developers who try their hand at app development – to pretty disastrous results.

The same goes with trying to build an in-house team to handle all of your tech stack. If your app is written in React Native but your website is in WordPress and your backend API is in C#, they’ll need to know all of those languages and frameworks. The further they spread themselves across those skill sets, the lower the chances are of them producing the expert, innovative solutions you’d get from engaging a specialist agency.

If you’re looking for React Native specialists to get your app project off the ground, drop us a line to see how we can help.

More insights