Outsourcing and outstaffing are two ways of getting software work done by people you do not employ. With outsourcing, you hand a piece of work to a supplier, which manages its own people and answers for the result. With outstaffing, the supplier provides people who join your team and work under your direction, so you manage the work and you answer for the result. The supplier remains their employer and handles pay and paperwork.
The word outstaffing is not common in the UK. The same arrangement is more often called staff augmentation, or simply hiring contract developers through a supplier. If a proposal offers “extra developers for your team”, it is outstaffing, whatever name it uses.
Neither term says anything about where the people are. Either model can be bought from a company in the UK or abroad, and our article on offshore, nearshore and onshore development covers that separate choice.
Who is responsible for what
The useful way to compare the two is to ask who carries each responsibility.
| Outsourcing | Outstaffing | |
|---|---|---|
| What you buy | A result: a finished system, or a system kept in good order | People’s time, usually by the month |
| Who directs the daily work | The supplier | You |
| Who answers for quality and deadlines | The supplier | You |
| What you need in-house | Someone to set priorities and accept the work | A technical lead who can direct and review developers |
| Usual pricing | A fixed price, time and materials, or a monthly fee | A monthly or daily rate for each person |
| Changing the size of the team | The supplier’s concern | Add or remove people, subject to the notice in the contract |
| Where knowledge of the system ends up | With the supplier, unless the contract requires documentation and handover | With your team, if your own staff work alongside the supplied people |
There is a middle arrangement, often sold as a dedicated team. The supplier provides a whole team that works only on your system and includes its own lead, while you set the priorities. It behaves like outsourcing if the supplier’s lead runs the work, and like outstaffing if you do. Ask which, because the label will not tell you.
When outsourcing fits
Outsourcing suits a business that wants an outcome and has no wish to run a development team. That covers most organisations whose main activity is something other than software.
It works well when:
- the work can be described as a result, such as a new customer portal or the care of an existing system;
- nobody on your staff could direct developers day to day or judge their code;
- you want the supplier to carry the risk of the work taking longer than expected, which a fixed price provides;
- the need is occasional, and a team would have nothing to do between projects.
Its weaknesses follow from the same facts. You see less of how the work is done. Changing your mind part-way through has to go through the supplier’s change process. If the contract is careless, the supplier may end up holding the code, the hosting accounts and all the knowledge, which makes leaving difficult. Each of these can be dealt with in the contract, and none will be dealt with unless you ask. Our article on fixed price and time and materials explains how the pricing choice moves risk between you and the supplier.
When outstaffing fits
Outstaffing suits a business that already has a development team, or at least a capable technical lead, and needs more hands or a skill it lacks.
It works well when:
- you have a technical lead with time to brief, direct and review the extra people;
- your own processes are already in place: source control, code review, testing and a way of releasing;
- the work changes week by week and cannot be scoped in advance;
- you need a particular skill for a period, such as a specialist in one database or framework;
- you want the knowledge to build up inside your own team.
It goes wrong when a business without that technical lead buys developers by the month and hopes they will organise themselves. The supplier has met its obligation by providing competent people. Whether they build the right thing is, under this model, your responsibility. A business in that position is better served by outsourcing or by making a senior hire first. Our guide to building a development team from new hires covers that route.
The cost comparison is less simple than a rate card suggests. Outstaffing rates often look lower than an outsourced price for the same number of days, because the supplier is not charging for management or carrying the risk of an overrun. You are supplying both, and your lead’s time is part of the real cost.
Points to check in either contract
These touch on law and tax, so treat them as a list of questions and take advice on the answers.
Who owns the code. Work produced by a supplier or a contractor does not automatically belong to the client. The contract should assign it to you in writing. Our answer on who owns the source code of bespoke software explains what to look for.
Tax status of supplied people. If an individual works for you through their own limited company, the UK off-payroll working rules, known as IR35, may apply. HMRC’s guidance says that medium and large clients must decide the worker’s employment status for tax and issue a status determination statement. Small clients are exempt, and the decision stays with the worker’s own company. An organisation receiving a fully contracted-out service does not have to apply the rules, which fall to the supplier. Which side of that line an arrangement sits on is a question for your accountant.
Notice and replacement. With outstaffing, check how much notice either side must give to remove a person, and what happens if someone leaves the supplier. With outsourcing, check what you receive if the contract ends: code, documentation, credentials and a handover.
Hiring the people. Outstaffing contracts usually restrict you from employing the supplied developers directly, or charge a fee if you do. Know the terms before you come to depend on one individual.
Access to data. People placed in your team will often have access to live systems. Decide what they may see, and ask where they are based if personal data is involved.
How CodeFirst works
So that our interest is clear: CodeFirst works on the outsourcing model only. We build to a fixed price against an agreed scope and maintain existing systems for a monthly fee, and we do not place developers in a client’s team. Our page on outsourced software development describes the arrangement. If outstaffing is the right model for you, another supplier will serve you better, and the checks above still apply.
The question that decides it
Ask who in your business will tell the developers what to do on Monday morning and check what they produced on Friday.
If you can name that person, and they have the skill and the time, outstaffing gives you control and flexibility at a good price. If you cannot, you are buying a result, and outsourcing is the honest description of what you need. Write the name down, or the absence of one, before you ask any supplier for a quote.