Working with agencies

Outsourcing app development: what actually decides whether it works

Most advice about outsourcing app development is written by agencies who want you to outsource, or by people who got burned once and now say never do it. Neither is useful.

We are an offshore team, so read this knowing our bias. What follows is what actually determines whether these engagements work, including the parts that make us look worse.

The three things that decide success#

Not price. Not timezone. Not country. In our experience it comes down to:

  1. Whether anyone on your side owns the decisions.
  2. Whether the team you interviewed is the team that writes the code.
  3. Whether you can see progress weekly without asking.

Get those three right and offshore works. Get them wrong and no hourly rate saves you.

1. Someone on your side has to own decisions#

This is the failure we see most, and it is not really an offshore problem — it is a delegation problem that offshore makes visible.

A remote team hits ambiguity constantly. Should this field be required? What happens when the payment fails halfway? Is this edge case worth handling? Each question has a cost if answered wrong, and a team that cannot get answers will either guess or stall.

Guessing produces work you throw away. Stalling produces invoices with nothing to show.

What good looks like: one person on your side who can answer product questions within a working day, and has authority to decide without a committee. They do not need to be technical. They need to be decisive and available.

If nobody can play that role, you do not need offshore developers. You need an agency taking full product ownership, and you should expect to pay considerably more for it.

2. The bait-and-switch problem#

Here is the industry’s dirty habit: you interview strong senior engineers, sign, and then juniors do the work while the seniors move to the next sales call.

It is common enough that you should assume it until proven otherwise.

How to check:

  • Ask for the names of the specific engineers on your project, written into the contract.
  • Ask to see their commits after week one. Names on commits should match names on the contract.
  • Insist on direct access to engineers, not routed through an account manager.
  • Run a two-week paid trial before committing to anything longer.

Any agency that resists all four is telling you something. We put names in contracts because the alternative is asking you to trust a brochure.

3. Visible progress, without chasing#

Weekly written status is not progress. Working software is.

What to require from day one: a deployed environment you can open in a browser, updated at least weekly. Not screenshots, not demos on a call — a URL you can click on a Tuesday afternoon without asking anyone.

This single requirement prevents most disasters. Problems become visible in week two instead of month three. It also removes the reporting theatre that eats a surprising share of some engagements.

What offshore genuinely costs you#

Honest list, from the side that benefits:

Timezone friction is real. Even with overlap, some questions wait. A three-hour overlap means a question asked at 4pm your time gets answered tomorrow. Plan for it: batch your questions, and give the team enough context to keep moving without you.

Context is expensive to transfer. An in-house developer absorbs your business by overhearing things. A remote team does not. You will explain more, and explain it explicitly. Budget real time for this in the first month.

Written communication becomes load-bearing. If your requirements live in someone’s head, offshore will hurt. Anything not written down does not exist.

Cheapest is usually most expensive. A rate far below market is not a bargain; it is a signal about seniority. Code you rewrite costs more than code that cost more.

When you should not go offshore#

Cases where we would tell you not to hire us:

  • You cannot articulate what you want yet. Discovery works better in a room. Get to a clear direction first, then bring in a remote team to build it.
  • The work is a two-week fix. Onboarding cost exceeds the work. Hire a local freelancer.
  • Your data cannot leave the country. Some regulated work has hard residency requirements. Check before shopping.
  • You need someone physically present. Hardware, on-site installs, in-person user research.

Nearshore vs offshore, briefly#

Nearshore means a nearby timezone — for US clients, usually Latin America. Offshore means further, typically Asia or Eastern Europe.

Nearshore buys you overlapping hours at a higher rate. Offshore buys you a lower rate and asks for better process. Neither is better; they trade the same currency in opposite directions.

The honest test: how many synchronous hours does your project actually need? Exploratory work with daily decisions needs overlap — pay for nearshore. Well-specified work with weekly checkpoints does not — offshore is fine and cheaper.

A checklist worth stealing#

Before signing with any offshore team, including us:

  1. Named engineers in the contract, verifiable in commit history
  2. A paid trial period with a real deliverable, and a clean exit
  3. Deployed environment updated weekly from week one
  4. Direct access to engineers, not only account managers
  5. Your repos, your cloud accounts, your ownership from day one
  6. A named decision-maker on your side with real availability
  7. Written scope, and an agreed process for changing it

An agency that agrees to all seven is not necessarily good. But one that refuses several is reliably bad, and that is a cheaper thing to learn now than in month four.


app-development hiring nearshore offshore outsourcing

Related