Ways to grow a team. Going Offshore.
Outstaffing vs. building own R&D branch.
Every once in a while every company encounters situations that demand fast team growth. Startups dream of this stage from the very first day, SMB companies treat them gently as a complex task full of risks, big enterprises work with them on a project basis.
There are two big problems, however: high budgets and tough competition for talents. This forces think of going offshore. Globally you can hire talents for smaller salaries and skip competition with giants.
There are three main approaches in working with a tech outsourcing companies: Fixed Price, Time & Material and Dedicated Team.

The Fixed Price model assumes amount of work, schedule and budget being approved before project start and remaining unchanged. This model is just the matter of standard work outsource and implies having a complete vision of a result and detailed specs. It is inflexible to changes and implement low level of control over the work being done. Therefore, we do not consider it for team expanding.

The Dedicated Team model is equal to Time & Material. The difference is exclusively in the naming (with a higher respect to long-term focus and customer needs), and volume discounts, maybe. In order not to give the wrong idea we do not consider it.

This is a comparison of building an R&D branch by yourself and hiring an IT service provider basing on a Time & Material model.

There are two big problems, however: high budgets and tough competition for talents. This forces think of going offshore. Globally you can hire talents for smaller salaries and skip competition with giants.
Two main choices you have are hiring an offshore technology firm (who will provide you workforce on an outstaffing basis), and building your R&D branch by yourself or with a help of local contractor.
You do all the work by yourself or with a help of local contractor.

You select the people you really like, with a focus on a long term cooperation. You build the culture of your principles. You continue your management system.

You are responsible for building all the infrastructure and administrative work. You manage all HR issues.

You invest your on start, but you do not overpay on a long run.
Being based on an ideology of Team-As-A-Service, this model is the simplest one for understanding and interacting with.

Pay unit-wise and utilize your team the way you want. A service provider takes all responsibility for providing everything needed for that. Just focus on your tasks.

Hiring, firing, basic procurement, hosting, solving all HR issues, daily operations management, and so on,– you have to think about nothing of that.

However, you pay exactly dual daily price, either way.

This model of services outsourcing when you pay for the actual scope of work and for the time spent to deliver this scope. Includes hourly rate of developers plus expenses on materials spent.

Is a schema in which you assemble a team personally. You decide the number of employees and level of their skills your project requires. Also you take into account all the managerial and operational issues. This model definitely requires a lot of decisions and a lot of time.

Absence of operational, HR and accounting issues.
You can forget about rent, legislation, insurance, taxes, recruitment, onboarding, firing, and so on.
More people with expertise within a company. A big company has a lot of experts on the other projects, who however can consult your project with issues appeared.

Agility. You can flexibly make changes to almost any part of the process at any stage — adjust project priorities, team size and people specialization, change management, etc.
Low level of personal involvement. People do not actually work at your company and your product is just one of the others for them. They have low internal motivation.
No motivation for getting things done. Primary focus on working with a bigger team for a longer time. Minimal level of team chemistry.
Generally lower level of a team. Service provider has higher motivation for hiring more people quicker, and no one for building a strong team specifically for you.
Changing a contractor is a hard task. Sometimes you understand someone doesn't fit you only with time. Finding a good contractor is a tough task as well.
Strong employees' engagement. Engineers get a long-term job, are grown within your culture, and focus on delivering exclusively your product.
Product focused education system. People spend time deepening knowledge and skills needed for the product or service. Career motivation lies within a company as well.
Straightforward and efficient communication. No intermediaries between you and your employees. The process is substantially smoother and lossless.
Double price, either way. Keeping the system stable and providing services take time and resources. Still, a provider needs to be profitable.
Implies investments on initial stage. Recruitment fees, office setup, initial procurement, and so on, are the lines in a budget of the project.
Fast start. The bigger provider is the more people on a bench it has. This people can start working on your project within days or weeks.
It takes time and resources to start all the processes. Assembling an team of strong engineers is not a quick task too. All the responsibility lies on you too.
Expenses transparency and cost efficiency. You control every cent spent for an RnD center set-up and it's further employment. Deep control of the budget.
Ability to start without an expertise. It is usually guaranteed by the company you hire. Company in it's turn has reputation and references.
Highest motivation to build a strong team. Building a team for yourself and focusing on a long term perspective, you do your best. Especially if you pay for recruitment.
Low cost of use. Your monthly expenses are comprised mostly of the salary.
Low cost of mistake on a start. Is perfect for testing ideas, building small prototypes, and starting projects with vague future.
All HR issues lie on your management. Building a retention system, employer brand, hiring and firing, educating, onboarding, and so on.
Testing an innovative idea while having no technical expertise

E. g.
You have an idea of a brand new mobile application, but you know nothing about application development. Moreover, you have no design, detailed vision, features, specs, promotion plan, and so on, which you want to develop on the way. Your aim is to test an idea by creating a product prototype. Then you'll think about future steps.
Expanding a technically complex project on a highly competitive market within a definite schedule

E. g. Your product has been on the market for a few years, but is still on a stage of an advanced prototype. It encounters troubles being loaded, needs redesign of architecture, functionality extension and improvement of UX. Your team is too small to do it all. Meanwhile, you start losing clients, while also experience problems with hiring skilled people due to the high competition.
  • you're going to develop a big, complex product
  • you have business expansion plans and long-term objectives
  • you tend to take control over majority of development processes

Build a strong product team from ground zero within a tight budget

E. g. You are a young team with a great idea and working prototype. You are close to getting an A series investment. Then, to make the product working, you need a team of a dozen engineers of different directions, 5 more people to build marketing and sales, and at least one year. However, you can afford hiring only the half of the team that doesn't suffice.
Strategic investment to a business reinforcement by creating a specialized RnD center

E. g. Your company is an old school hardware vendor. But today customers start demanding higher level of UX, an you have to obey, or lose. You had started thinking about UI department. There is a need in hiring 30 people the next year to accomplish goals. That is a substantial and risky investment with high further yearly expenses. You need to make a right strategic decision.
  • when you start with some innovative idea, so you don't yet understand the target market and have raw project concepts
  • when you have to start project immediately, so there is no time to open the team search
  • short term or long term project with ever-changing requirements, so you need great flexibility
  • you have to improve your current project with some hot fixes and you features
  • when there is a need to strengthen your current team quickly

Starting a project as soon as possible, with a possibility to stop it at any moment

E. g.
The lockdown made adjustment to offline business and you have to think quickly about an online ordering system. You have a narrow vision of what it should be, nonetheless you need a very basic version of the system to be working in a month, and more or less stable one in two. Then 3 months of delay to test and realize needs, while making minor improvements.
Managing a project with high requirements volatility, especially in the number of team members

E. g. Company has an internally developed ERP system. IT is a strategic part of the business, but your development team has a stable budgeting for 5 core people exclusively. The pipeline of tasks is built a year in advance. However, management often comes with new urgent ideas. By internal policy you have the possibility of engaging external contractors for such project.
E.g. You have an idea of a brand new mobile application, but you're newbie to entrepreneurship and application before. Briefly, you just have an idea and haven't decided yet the format, features and target audience of your product.

Easy to start a project that you are not sure you will to continue. Low cost of mistake on a start.
You start with some innovative idea and don't yet understand the target or project concept

E. G.
You have an idea of a brand new mobile application, but you're newbie to entrepreneurship and application before. Briefly, you just have an idea and haven't decided yet the format, features and target audience of your product.

You have to improve your current project with some hot fixes and you features

E.g. You've created an application for meditation and breathing exercises, the development is completed, the product has reached the top positions in the play market and appstore. But suddenly a new manufacturer of smartphones with a separate operating system enters the market, the product is rapidly gaining popularity. Accordingly, to increase sales of your product, you need to add to the application integration with a new operating system. This is a small task and, in theory, fast, so you choose a contractor to engage a mobile developer and tester.

You have a need to strengthen your current team quickly

E.g. Your company develops a time tracking platform. Earlier, the platform was compatible with one operating system, so later you decided to modify it for each client and add some functions the client needs. But, unfortunately, you have no people in the team with integration expertise. But the first few contracts with customers have already been signed, so you need to start as soon as
The idea of offshoring itself looks like as a pretty good alternative in today's high competition for talent. By choosing this way you avoid extreme expenses along with getting access to global labor market. And both approaches come with their unique advantages.

Expanding your company offshore gives you cultural integrity and the highest level of commitment to your processes and final product.
You hire only the best suiting people do everything the way you accustomed and have high level of control over your finances.

On the contrary, outstaffing endows you with the highest level of financial and managerial flexibility. You can start immediately, focus your attention exclusively on your work and stop the process any moment without serious penalties.

However, there is no silver bullet. You have to go through your goals, needs, and budget to make a decision fitting exactly you.
Summing up the issue of outstaffing vs own offshore development team option isn't easy because both solutions come with their unique advantages.

The idea of offshoring itself looks like a pretty good alternative in todays high talent concurrency. By choosing it you avoid extreme costs spending along with getting access to the top market engineers and in the final count you'll find yourself managing a diverse team of top professionals deeply committed to your product.

On the contrary, outstaffing endows you with flexibility, possibility of immediate start and absence of recruitment hassle.

The main rule you should always remember — there is no silver bullet, so, first of all, examine your needs, goals, and budget in order to make the right decision.