Hiring & Outsourcing

How to outsource app development: models, contracts and risks

Outsourcing a build goes well when three things are settled before work starts: what is being delivered, who owns it, and how each side can tell that a milestone is finished. This guide covers the mechanics of getting those right.

Hiring & OutsourcingUpdated September 21, 2026By the BBR engineering team

Short answer: pick an engagement model that matches how well you can define the scope, sign a contract that assigns IP to you and ties payments to accepted milestones, keep every account in your company's name, and insist on seeing working software every one to two weeks. Most outsourcing failures trace back to one of those four being absent.

Not legal advice. This guide explains what contracts for outsourced development usually cover so you can have an informed conversation with a lawyer. It is not a substitute for one. BBR is a studio that takes outsourced projects, so we describe the process from the vendor's side of the table as well as yours.

Engagement models

Fixed priceTime and materialsDedicated team
How it worksA set price for a written scope, paid by milestoneYou pay for hours worked at agreed rates, usually invoiced monthlyA fixed group of people works only on your product for a monthly fee
Best forFirst releases and projects with a clear definition of doneExploratory work, evolving products, maintenanceContinuous development over many months
Who carries the estimate riskMostly the vendor, who prices in a margin for itMostly youShared: cost is fixed, output varies
FlexibilityLow; changes go through change requestsHighHigh within the team's capacity
Budget predictabilityHighLow unless cappedHigh per month, open-ended overall
Your involvementHeavy up front (scope), lighter during the buildContinuous prioritizationContinuous; you act as product owner
What to watchVague scope leads to disputes; vendor may resist any changeCosts drift without a budget cap and regular reportingPaying for idle capacity when the roadmap is thin

Two hybrids are worth knowing. Paid discovery followed by fixed price gives the vendor enough information to quote accurately and gives you a scope document you own, whichever vendor you then choose. Time and materials with a cap keeps flexibility while limiting exposure: the vendor must flag when a set percentage of the budget is used.

A team on a monthly basis is what BBR calls product engineering; project work is described under mobile app development and SaaS development.

Contract essentials

Most engagements use a master services agreement for the legal terms plus a statement of work for the specific project. Whatever the format, check that these points are covered.

IP assignment

The agreement should assign ownership of all work created for the project (source code, designs, documentation) to your company, and say when: commonly on payment of each milestone or on final payment. It should separately list any pre-existing vendor code and grant you a perpetual licence to use and modify it, and acknowledge that open-source components remain under their own licences. If subcontractors are involved, the vendor should warrant that they have assigned their rights too.

Confidentiality

A mutual NDA, either standalone before detailed discussions or as a clause in the main agreement. It should cover your business information, your users' data and the fact of the project if that matters to you.

Scope and acceptance criteria

The statement of work lists features with testable acceptance criteria. "User can reset password by email link; link expires after one hour" can be accepted or rejected. "Secure login" cannot. The contract should also describe the acceptance procedure: how long you have to review a milestone, how defects are reported, and what happens if you do not respond.

Payment milestones

Payments are tied to deliverables you can inspect, for example:

MilestoneWhat you can verifyIllustrative share
SigningTeam reserved, kickoff scheduled15–25%
Design approvedClickable prototype of the core flows15–20%
First feature set on stagingYou can log in and complete the core workflow20–25%
Feature complete on stagingAll acceptance criteria demonstrable20–25%
Launch and handoverLive in production or stores; repository and documentation delivered15–20%

The percentages are an example of a balanced structure, not a standard. The principle is that neither side is ever far ahead of the other.

Change requests

A written procedure: the change is described, estimated, and approved by you before work starts, with its effect on price and schedule stated.

Warranty period

A defined period after delivery during which defects against the agreed scope are fixed without charge. The clause should define a defect (behavior that contradicts the acceptance criteria) as distinct from a change (behavior you now want to be different).

Termination and handover

Either side can end the engagement with notice. On termination you pay for accepted work and work in progress, and receive all code and materials produced to date. This clause is what makes "no lock-in" real.

Data protection

If the vendor will handle personal data about your users, privacy law in your users' location may require specific contract terms, such as a data processing agreement under GDPR or UK GDPR. Minimizing vendor access to real data reduces this burden. Ask your lawyer what applies.

Liability, governing law and disputes

These clauses decide what happens when things go badly wrong: caps on liability, which country's law applies, and where disputes are resolved. They are negotiable and they are squarely lawyer territory.

Accounts and access: the practical side of ownership

A contract says you own the product. Account ownership means you can actually operate it. Set these up in your company's name before development starts and grant the vendor access:

  • Source code repository (for example a GitHub organization)
  • Cloud hosting and database accounts
  • Domain registrar and DNS
  • Apple Developer Program and Google Play Console accounts
  • Payment processor, email, SMS, analytics and other third-party services
  • A company-owned password manager for shared credentials

Store accounts deserve particular attention. An app published under a vendor's developer account has to be transferred later, which takes effort and coordination. Publishing under your own account from the start avoids the problem. Enrollment for an organization can take some time, so begin early.

Time zones and communication

  • Agree an overlap window. Two to three shared working hours a day is enough. Put recurring calls inside it.
  • Default to writing. A weekly written update covering done, next, blocked and budget used. Decisions are recorded in the tracker, not left in call memories.
  • One channel, one contact. A shared chat channel for daily questions and a single named person responsible for answering.
  • A fixed demo rhythm. Every one or two weeks, on a staging environment you can open yourself afterwards.
  • A decision-maker on your side. One person with authority to answer product questions within a day. Slow client decisions are one of the most common causes of delay.
  • Use the offset. With a team ahead of your time zone, feedback you send in your afternoon can be addressed by your next morning.

Risks and how to reduce each

RiskHow it shows upMitigation
Misunderstood scopeThe delivered feature matches the vendor's reading, not yoursAcceptance criteria; clickable prototype approved before the build; early demos
Cost overrunChange requests pile up, or hours driftFixed price with a contingency you hold back, or a capped budget with weekly burn reports
Poor code qualityIt works in the demo and is hard to change laterConventional stack; code review; an independent engineer auditing the repository at a midpoint milestone
Vendor disappears or failsCommunication slows, then stopsCode pushed to your repository continuously; accounts in your name; milestone payments so you never prepay far ahead
Lock-inProprietary platform, or only the vendor knows how to deployLicence for pre-existing components; deployment documented; handover clause
IP disputeAmbiguity over who owns whatWritten assignment, subcontractor warranty, open-source list
Confidentiality or data leakReal user data on developer machinesNDA; synthetic test data; least-privilege access; revoke access at the end
Communication gapsSurprises at the deadlineWritten weekly updates, fixed demo rhythm, named contact
Store rejection or launch delaysThe app is finished but not liveVendor with store release experience; review guidelines checked at design stage; time for review in the schedule
Key-person dependencyOne engineer holds all the knowledgeDocumentation as a deliverable; more than one person familiar with the code

Step by step: from brief to signed contract

  1. Write a one-page brief. Users, core job, first-release features, platforms, integrations, deadline, budget range.
  2. Decide what kind of partner you need. See agency or freelancer if unsure.
  3. Build a longlist of five to eight from referrals, directories and search, then cut to three to five by looking at shipped work relevant to yours.
  4. Sign NDAs if your idea or data requires it, and send the same brief to each.
  5. Hold an intro call with each. Note who asks good questions about your users and who goes straight to price.
  6. Request written proposals with line-item scope, exclusions, team, timeline, pricing model and payment schedule.
  7. Compare scopes, not totals. Put the proposals side by side and mark what each one omits.
  8. Run due diligence on the top two. Use the agency due-diligence questions, try their shipped products, speak to references where available.
  9. Consider a paid discovery phase with your first choice. It produces the detailed scope, tests the working relationship at low cost, and the output is yours.
  10. Negotiate the contract covering the essentials above, with your lawyer reviewing.
  11. Create the accounts in your company's name and grant access.
  12. Sign, pay the first milestone and hold the kickoff. Agree the communication rhythm in that first meeting.

For budgeting the build itself, see the guides to what an app costs to build and SaaS development cost. How BBR handles ownership, NDAs, change requests and handover is set out on the how we work page, and the broader service is described under custom software development.

Questions

Frequently asked
questions.

Is it safe to outsource app development to a company in another country?

It can be, if the safety comes from structure rather than trust: a written contract with IP assignment, accounts and repository in your name, payments tied to working milestones, and continuous access to the code. Those protections work the same way whether the vendor is across town or across an ocean. Cross-border enforcement of a contract is harder, which is one more reason to rely on milestone payments and account ownership.

Who owns the code when I outsource development?

Whoever the contract says. In many jurisdictions a contractor keeps copyright in what they create unless it is assigned in writing, so the agreement should state that all project deliverables are assigned to your company and when. Pre-existing vendor code and open-source components are normally licensed rather than assigned. Have a lawyer confirm the wording.

Should I choose fixed price or time and materials?

Fixed price when the scope can be written down with acceptance criteria, which is true of most first releases after a short discovery. Time and materials when the work is exploratory or changes weekly. Many projects use both: fixed price for version one, then a monthly arrangement for iteration.

How do I work with a team in a very different time zone?

Agree a fixed overlap window for calls, make written updates the default, and keep decisions in a shared tracker rather than in meetings. Two or three hours of overlap is enough for most projects. For reference, Istanbul is on UTC+3 all year, which overlaps with the UK and European working day and with the US East Coast morning. The pages for US, UK, Canadian and Australian clients cover the specifics.

What should I prepare before contacting vendors?

A one-page brief: the problem and users, the core job the product does, must-have features for the first release, platforms, integrations, deadline, and a budget range. Add any existing designs, competitor references and constraints such as regulated data. A clear brief gets you better and more comparable quotes.

Your next move

Have a brief ready?
Send it over.

Share your one-page brief. BBR replies with questions, a suggested first-release scope and a realistic range, under NDA if you prefer.

Send your brief