Software industry is actively growing for many years with new technology startups appearing each day. Besides major changes it brings to the world economy and traditional industries, this rapid and constant growth affects software engineering environment itself and in particular, labor market.
Technology companies of the leading countries like USA are feeling that the professional labor market is limited, and local recruiting and talent engagement processes become more and more expensive. It creates a favorable environment for the software engineering outsourcing business model with many technology vendors looking on this opportunity in both onshore and offshore format.
On the other hand, offshore outsourcing is a global tendency. A number of corporations are moving their production to other countries, usually with less developed economy and / or lower salary rates. Cutting costs because of lower hourly rates is not the only reason of choosing outsourcing; each industry and each business can find its own benefits with this model.
Definitely, each decision maker in software business knows about R&D outsourcing and has their own image of it, from an unwanted practice bringing missed deadlines and quality drop with questionable economic benefits to a quick solution for the hot or strategic production tasks.
Meanwhile, outsourcing is just another business model with its own benefits and risks, which can effectively resolve a specific range of tasks being properly applied. Apriorit, delivering engineering outsourcing services for 15 years, has seen hundreds of various projects and businesses in different situations, with different goals, and different results. In this blog post, based on feedback and interviews of industry decision makers and our own experience, we will try to summarize and analyze why technology companies use engineering outsourcing services, what benefits they can get, what risks they typically face, what concerns they have and how can those concerns can be answered.
I hope, these considerations about pros and cons of outsourcing software development services will help you to more efficiently evaluate this opportunity when the next outsourcing-offer email lands in your inbox.
Why companies turn to engineering outsourcing
Numerous “benefits of outsourcing” articles name such reasons as differences in hourly rates, no HR efforts and expenses to maintain the in-house team, no related administrative costs, or even no need to rent additional office facilities and conduct trainings. As engineering executives’ interviews show, those reasons are not actually relevant for them: administrative costs, accounting overhead, or the very fact of potential economic benefits are issues of other enterprise departments.
But they do feel the increased limitations of local labor market and increasing cost of engaging required engineers in terms of both budget, time, and efforts.
Here is the list of the main reasons to look for an outsourced engineering team to contract (as we hear from our clients and leads):
- Lack of in-house specialists to cover all engineering needs coupled with problems with recruiting them on the local market.
A number of engineering managers mention that efforts and cost needed to engage a qualified specialist in US, for example, are significant and growing. There are a lot of technology companies, industry needs more resources than the local market can deliver, which leads to the tough headhunting and motivation issues. HR departments just ask to wait a little bit more while the vacancy remains unclosed.
- Lack of specialists with specific / rare skills (e.g. low-level development or reverse engineering) both inside the company and on the local labor market.
Engaging such resources in the short terms can be very expensive or even impossible. Moreover, the corresponding project may require only limited amount of such specific work, so employing specialists for the long term is not efficient. When choosing the outsourcing engineering services option, company gets access to the worldwide resource pool available on well-regulated timely basis.
- Urgent need to accelerate delivery to meet the company strategy requirements.
The company may need to deliver specific functionality on time or resolve any other technical task urgently to use some business opportunity. This would require quick and limited in time engineering team augmentation. With flexible resource pool and measurable services, outsourcing can help to resolve this task.
- The project budget is limited or the company adopts cutting costs strategy.
Sometimes, company wants to test some market hypothesis or perform some refactoring with limited budget. Frequently, in-house development resources suppose bigger project costs. In line with the global offshore outsourcing tendency, R&D outsourcing supposes [much] lower hourly rates. For example, engaging an experienced driver developer in Eastern Europe costs 3 – 5 times less than the same development work in US, web based solution development costs 2-3 times less.
Analyzing these reasons and project situations, we can formulate several benefits of outsourcing engineering services as they are seen by an engineering executive:
- Quick access to the qualified engineering resources, including those with the rare skills.
Surely, the client needs to understand that he will be required to carefully evaluate and choose providers, check their skills, maybe conduct preliminary interviews to get resources really qualified for the task. But the process of choosing a trusted provider in many cases is still easier and less expensive than local recruitment.
- Flexible and easily scalable engineering team.
The engineering manager can add or remove resources from the outsourced engineering team, engaging custom skills and paying only for those resources the project actually uses according to the project plan and schedule.
- Motivated engineering team.
Team motivation remains on the provider side and is the outsourcing company responsibility. Usually, outsourcing providers offer various advanced professional development programs to their employees, create a knowledge pool to exchange experience among the great variety of the project they have. The diversity of assignments in itself creates additional motivation.
- Outsourcer can offer significant expertise within specific technology domains.
If an outsourcing provider cares for specialization and sticks to some selected range of industry domains, it can accumulate comprehensive experience in it dealing with numerous projects. For example, Apriorit has a team specializing in security projects. This team has dealt with more than a hundred of various assignments, so its shared knowledge includes industry standards, multiple nuances, details, risks, tools and techniques to use. The client company expertise can be not so deep and versatile because of limited number of projects and technology directions.
- Beneficial rates.
Outsourcing risks and related concerns
After summarizing engineering outsourcing benefits, let’s move to the potential risks it brings to the client company.
The majority of the decision makers’ concerns come from the fact that the outsourcing team they contract is physically located in other place, possibly, on the different side of the ocean, in different time zone. Here are some of such “derivative” risks:
- Problems with the project common vision, correct understanding of the priorities and goals, misunderstanding with particular task implementation.
- Problem with the process control, task status monitoring, actual project status and subsequently problems with timely risk detection and delivery forecasts.
These concerns can be answered by the intense two-way communication. The client contracting an outsourcing team needs to understand that they will need to maintain communication all the time to minimize those risks.
Efficient outsourcing model starts with efficient communication. It can be tempting to outsource a project together with the operational control and then only episodically get in touch with your hardly working team, and it can even work well for a while, but at some point it can bring significant problems of above mentioned types. And it’s not necessarily because of how hard they actually work, it’s because of slight differences of project understanding, it’s because of some small questions arising each day, which being remained unanswered can bring your team step by step to some different way of the project implementation, different from what you expect.
On the other hand, if an outsourcing provider fails to provide status reports, disappears from the communication channel, it’s the first disturbing sign for the client company. That is the moment to check the task statuses and some general project visioning points.
At the same time, this process does not necessarily mean micromanagement and microcontrol from the client side, as it can be, for example, in the freelancer engagement scheme. Apriorit, for example, delivers only managed teams, which include a part-time project manager by default. This team member regulates communication, represents a single point of contact for the team and the client, sends regular status reports, clarifies the priorities and ambiguous questions, and perform team and task micromanagement on the outsourcer side.
One more concern that the technology companies have about outsourcing engineering projects is uncontrollable employee turnover on the provider side.
This concern is more common for those companies experienced in outsourcing their tasks. Leading developers are people too, they can quit, and the new ones will need time to learn the project. Moreover, in some situations, it can take considerable time to find a proper replacement, which can lead to the project delays.
While it’s easier to apply HR instruments to monitor the situation and retain talents in the own organization, the client does not have enough influence to control turnover rates within the outsourcing company.
The only answer to this concern is the outsourcing company responsibility. Trusted providers have proper HR processes and corporate culture aimed to lower the turnover rates and accumulate experience within the company. One more tip here is to add the corresponding term to the service agreement regulating some fixed structure of the team and maximal acceptable period of team member replacement. In case of delays or incomplete team working, penalties may apply or the corresponding period will not be paid by the client.
Another concern is the proper IP rights transfer.
Trusted outsourcing companies have proper client agreements where the legal aspect of IP rights transferring is clearly described; and additional corresponding agreements with each employed engineer working on the clients’ projects. The potential problems of business or technical information disclosure as well as the issues of re-using developed technology objects for other projects also deserve rapt attention. Apriorit, for example, signs proper non-disclosure agreements with potential and actual clients right on the negotiation stage, which suppose financial penalties in case of failure to comply with the terms.
Startups also consider outsourcing engineering teams when it comes to delivering an MVP or adding functionality within regulated deadlines. This option brings them access to the qualified resources with limited budget. At the same time, they may have a concern that these engineering resources will not form part of their newborn company itself, which can lower its cost from the investor perspective.
This concern can be partially resolved by long-term agreements with prolongation options and a transparent system of transferring value.
Outsourcing – is a powerful business instrument, which being properly applied in the appropriate situations can open big opportunities and bring extremely good results. Considering this option is not about advantages and disadvantages of outsourcing engineering services but about benefits this model can bring and risks the project can face.
We consider that good results depend on both parties of this scheme, and both of them will need to adapt for it.
The client company has ultimate proficiency in its own business. It is a carrier of business priorities, goals, strategies, and quality indicators. But still it needs to learn to handle its project with the outsourcing instrument. It is neither hard nor complicated, but it requires proper attention. Not all business situations are good for outsourcing. Not all outsourcing schemes fit specific projects. Outsourcing needs specific and dedicated communication.
On the other hand, a trusted outsourcing provider, in order to remain trusted, needs to do much more than just developing technical assignments or outstaffing its own employees to the client. It has to establish and maintain the proper communication with the businesses. It has to explicitly manage outsourcing teams on the required level since the clients implicitly but still transferred this responsibility to it. An outsourcing provider needs to increase its service level listening to its clients concerns and correspondingly adapting its work.
We at Apriorit think that specialization and focus on the selected range of technology domains can also help an outsourcer to increase the quality of services due to the experience accumulation and skills synergy. This experience will include not only technical knowledge and some ready approaches, but also specific project management expertise.
Try Apriorit managed teams! Learn more about our services or send us an RFP to get in touch with a live person with all details at hand.