Finding the right development option - offshore vs local agency vs freelance vs team
Designing and building new ideas out as apps and platforms has become a massive industry. Whether you’re a startup with a great idea, or an established company, everyone is looking for good development talent.
There are four basic options to consider:
- Freelance - use a freelance developer or designer
- Offshore Agency - engage with an offshore agency where salaries are lower
- Local Agency - engage an agency team
- Your own development team - start building up your own team of developers
It can be easy to be a bit overwhelmed - how do you make the right call? You’ll no doubt run into people that have had both positive and negative experiences with each of these. There is no “right” here- and it will change as your business evolves.
OK - so you’re probably thinking that at the end of this article, I’m going to cleverly explain why using a Local Agency is the best option, because of X,Y and Z. But I’m not. Because it might not be, for your business. And this is a complex decision.
Having been on this Rodeo a few times, here’s how I’d suggest you approach the problem.
Step one is about clarity. Don’t bullshit yourself. Know what you’re trying to achieve, and what you’re prepared to invest to achieve that. Be able to clearly explain this, and what you’re prepared to spend to build it. Don’t build and then try to figure it out.
Step two is having a plan. The technical build is just one part - depending on the size and type of your project, you’ll also need marketing, operations and support.
Step three is revenue. This doesn’t just happen. What revenue, at what point, and what features are required to make this happen? Make sure you factor in some scenarios (rather than just the most optimistic one).
Once you’re solid on that, you need to find your developers.
But first, let’s talk money. Not revenue, but how much you’re prepared to spend, and the outcome. If funds are tight, find a freelancer rather than wasting time trying to recruit a full time team or an agency. Likewise, if you’re expecting to raise a big investment round based on an amazing MVP, your freelancer probably won’t cut it.
Remember - you’re getting what you pay for. This is something which is often misunderstood. If you spent $X on a freelancer rather than $XX on an agency, you probably got less. You didn’t get anything cheaper - you got less development.
Lots of people start off with a Freelancer. Key advantages are low obligations in terms of cost, and commitment. You might need this flexibility as you roll out your business.
PROS: If you don’t need that much work done, and don’t have that much to invest, then a freelancer can be a great option. Working directly with a freelancer is something you may enjoy as your project takes shape.
As long as you manage costs and deliverables carefully, this can be a good option.
CONS: You might get frustrated when your guy/gal gets busy, takes a full time job, or goes off travelling. You might get irritated with poor planning and project management. Or lack of testing. Or you might belatedly realise their work wasn’t as good as you were hoping. And now every developer you talk to wants to start again from scratch.
Using an Offshore team is another option. Let’s be totally honest here- the key driver for this is cost. But finding a good, reliable offshore team is tricky. Yes, you probably got that email from the guy in Vietnam/Ukraine/China/Philippines offering you senior devs at $5 an hour. That isn’t research and no they didn’t single you out - even my Mum gets those emails.
PROS: Cost & availability
CONS: Probably the biggest drawback is the lag in communication. The feature you described might not always be the feature you get. It might be kind of close. It might kind of work the way you want. Or not.
Your users won’t care what you paid per hour - they just want this feature to work properly. If you’ve spent half your budget and limited progress, you’ve spent half your budget. There is no Startup Fairy issuing refunds.
The other reality check is the globalised nature of tech. Imagine a Rock Star developer living in one of the above countries. Surely Google/Amazon/Atlassian would be far more attractive than sticking around at $5 an hour. So the reality is you’re probably working with the B or C team here. But how would you know?
The next option is using a Local Agency like Red Ant. The first question to ask is to meet their devs - if the response is that you can’t because they are offshore, then stop and consider option 2 instead. Unless you enjoy the process of asking someone a question, and that person needs to ask someone else, and that person asks the dev actually doing the work.
Once you’ve met the team, make sure you understand how they work (agile or waterfall) and the kind of work they specialise in. Both tech stack (eg: Ruby on Rails, React, etc) as well as industry and platforms (eg: payment systems). Ask questions around estimation, testing, devops and warranty on work.
PROS: Availability and reliability. More mature processes will mean better efficiency.
You’ll probably get what you need faster. You can sit with the team and work through issues. Better project management, clear deliverables, and ideally a guarantee on work done.
Collectively they’ll probably have more experience than a freelancer or your own team. Having code peer reviewed by other senior devs avoids poor tech or architectural choices.
CONS: Requires commitment - so while a freelancer might be happy to have the day off at the beach, an agency has a team to pay so will move them onto other projects.
The cost of offshore vs local can hard to evaluate - the local agency might do in a day what the offshore team finally get right in a week. Or the other way around.
The final option is building your own team. Some companies transition to this option after building out part of the project already.
A word of caution: people often assume this option will be cheapest, but that isn’t typically the case. Unless your project is super simple (in which case stick with freelance!), your team will need to match the skill sets in an agency - a project manager, a tech lead, product, UX, frontend, backend. It isn’t one person (no matter what super powers they claim on their CV).
The efficiency of your first few hires will probably be quite low relative to an existing team (eg: offshore or local agency). Don’t be dejected- it will take a while to get a cadence going. People will probably quit sooner than you were expecting, need more stuff (equipment, management, training etc).
Chin up- it will get better! Once you get to a stable team size, this should settle down.
pro tip:It’s much easier to transition to a team gradually, and plan this out with your existing agency or freelancer.
PROS: You’ll have control over team hires. Better control over security related issues such as IP, security and privacy. Raising money from investors is easier if it is to build your team.
CONS: You’re now responsible for driving this bus. Unless you’re experienced, you may end up hiring some lemons. Or a loud, opinionated developer might make poor choices that end up costing you a lot of money and time.
You’ll need to be patient, and have enough runway to make this work.
Working out the best way to resource the development of your project can be hard. It's super competitive, and can be hard to compare apples with apples.