Software5 min readBy Published

Should you hire a software agency or build an in-house team?

We're an agency, so we have a stake in this answer. We also hand projects over to in-house teams, and we've taken over projects from teams that left, so we've seen what makes both routes work and fail.

Short answer

Hire an agency or a freelancer when you need to start soon, the project has a clear end, or you don't yet know what you need to build. Build an in-house team when software is central to your business, changes every week, and you can afford to hire, manage and keep developers. Many companies do both, one after the other: an agency builds the first version, then an in-house team takes over.

Agency, freelancer and in-house team compared

The difference isn't price per hour. It's what you're buying: a finished result, a pair of hands, or a permanent capability. Each has a cost you only notice later.

A freelancer is cheap and fast for a small, well-defined job, and a risk if the project depends on one person. An agency brings design, development and testing together and starts quickly, but you pay a margin and the knowledge sits with them unless you plan otherwise. An in-house team keeps the knowledge, but it takes months to hire and costs a salary whether the work is busy or quiet.

Three ways to get software built

Freelancer

How you pay
Hourly or per task
Speed to start
Days
Management load on you
High, you direct the work
Knowledge stays
With one person
If you need to scale down
Easy

Agency

How you pay
Per project or monthly retainer
Speed to start
Days to weeks
Management load on you
Lower, they run the delivery
Knowledge stays
With them, unless documented
If you need to scale down
Easy, check the notice period

In-house team

How you pay
Salaries, tools, hiring costs
Speed to start
Months of hiring
Management load on you
High, you manage people
Knowledge stays
In your company
If you need to scale down
Hard and costly

Where the money goes

An agency quote looks higher than a salary, so people assume in-house is cheaper. Often it isn't, once you count recruiting, equipment, holidays, sick days, a manager's time, and the weeks a new hire needs to understand your systems. A team also needs more than developers: someone to decide priorities, test, and design.

In-house does win on cost when the work never stops. If you have software to build and improve all year, a team that knows your business deeply will usually deliver more per pound or dollar than a stream of project invoices. If the work comes in bursts, you'd be paying for idle time.

When to move from an agency to in-house

Nobody should hire a team because it feels more serious. Hire because the situation has changed. Common signs: you're asking for changes every week, the product has become the heart of the company, outside requests are queueing, or you're paying for context the agency has to relearn each time.

If you see two or three of those, start planning the move. It's easier to do it gradually, with one senior hire who can lead the team and work alongside the agency for a while.

Who should build it, by situation
  • Small, clear task with a finish line

    A freelancer, with a written brief.

  • First version of a new product, many unknowns

    An agency, so you can learn before you hire.

  • Constant changes and software is core to the business

    Start building an in-house team.

  • Steady work, but too small for a full team

    An agency on a monthly retainer.

  • You have one developer but need more skills

    Add an agency for design, testing or specialist work.

How to plan a clean handover

Handover is much easier if it's in the contract from the first day. Ask for it even if you don't expect to leave. A good agency will agree, and one that resists is telling you something.

Three things decide whether it goes well: you own the code and accounts, the system is documented well enough for a stranger to run it, and the two teams overlap for a few weeks so questions get answered by people rather than guesses.

A clean handover, in order
  1. Own everything

    Code repositories, cloud accounts, domains and app store listings are in your company's name.

  2. Document

    A README, an architecture note, how to run and deploy it, and a list of every outside service.

  3. Check it runs

    Your new developer builds and deploys it from scratch using only the documents.

  4. Overlap

    Both teams work together for a few weeks, with the agency on call for questions.

  5. Sign off

    Move credentials, close the agency's access, and agree on what support remains.

Questions people also ask

Is a software agency cheaper than hiring developers?

For a defined project or irregular work, usually yes, because you pay for the work and not for idle time. For continuous work that never ends, an in-house team is often cheaper per unit of output. Compare the full cost of a hire, not just the salary.

What should an agency hand over at the end?

The source code in a repository you control, the accounts and credentials, documentation for running and deploying it, and a list of third-party services. Ask for these in the contract, not at the end of the project.

Can we use an agency and an in-house team together?

Yes, and it works well. The in-house team owns the product and priorities, and the agency adds capacity or skills such as design, testing or a specialist build. Agree on who decides what, and keep the code in one place.

Related service

Weighing an agency against hiring? We'll give you an honest view, even if the answer is to hire.

Talk to us

More articles

What we learn building AI, sent to your inbox

Our newsletter

Practical AI notes for growing businesses. One email a month.