One of the ways to cut costs on the development during the COVID-19 or any other crisis is to outsource the software development. Of course outsourcing has its risks however these risks can be mitigated. This article is not about pros and cons of outsourcing, there are already thousands of such in the WEB. Instead we will concentrate on the risks that outsourcing brings, aggravated by the economic crisis.
Reasons to outsource
Let’s start by identifying if your company even needs outsourcing. Outsourcing is driven by the next needs:
- Need for fast scaling of the team. During the COVID-19 crisis this can become especially critical due to people and developers getting sick and companies closing.
- Ready-made-solutions to purchase instead of development from scratch. Here business faces a choice: to develop smth from scratch and spend tons of time and money or purchase a ready-made solution.
- Lack of in-house expertise to acquire new technologies. New expertise can take months and years to incorporate, while a crisis puts the business in the position of lack of time.
- Short timelines to deliver the project.
So in case you recognize your team in one of these items, think of considering outsourcing.
Let’s also take a look at the company profile that usually outsources the development. Per the industry report from 2019, only 11.3% of companies said they do not outsource, the rest do. Among big names are Google, Alibaba, Basecamp and many others. Small (up to 100) and medium sized companies (101-500 people) are more inclined to outsource versus big companies with more than 500 people. Big companies prefer to keep tech management inhouse and outsource mainly the development itself. The industries that outsource are pretty much all industries you can imagine but to name a few: manufacturing companies, financial organizations, marketing, development and digital agencies, beauty, retail and wholesale, utilities, transportation, travelling, etc.
Per statistics around ⅔ of your competitors either already outsource or will be outsourcing in the nearest future.
Have you already thought about outsourcing software development?
Risks when outsourcing during crisis
Now let’s look into the risks that outsourcing has as well as how they can become worse during the crisis. The aim of this article is to outline the problems you might face. If you are already interested in how you can eliminate those risks, let us know, and we will try to prepare the article on how we handle these risks.
Countries for outsourcing and risks connected with it in the context of economic crisis
If you have taken a decision to outsource, the second question you would face is where to outsource? You can go with on-shore, near-shore or off-shore options. Depending on the option you select, you will be able to either save or overpay money. E.g. USA based developers cost on average $150/h while in Eastern Europe around $25/h and finally in India with $5/h.
Based on numerous researches that you can google in WEB as well as experience from fellows, you will find that India, Philippines and other Asian countries are the riskiest due to poor code quality. When we say “code quality”, we mean that the ready solutions provided are unstable, buggy, you can hardly add features or maintain the code and usually such software end up being fully rewritten from scratch. These countries do have great developers and well-established companies, but it’s extremely hard to find such. This risk becomes even bigger with the fact of remote work that has to be adapted with the coronavirus and the quick spread of disease and potential big number of sick people due to the density of population.
Eastern Europe countries provide the best cost/quality. For Ukraine specifically, tech development is part of the governmental strategy, which also stimulates the industry for better quality and new approaches. Even though quarantine hasn’t been enforced in all Eastern European countries (e.g. Belarus is not on quarantine), all these counties have been hit by economic recession too, since their economies are not strong enough. Tech industry didn’t get the same impact but still it felt the decrease of customers and average invoices.
On-shore development or local outsourcing are a potential choice too, however they will provide maybe 10% of saving, which can become unnoticed due to integration costs and bureaucracy that Western European and USA development companies usually have. The economies of these countries are more stable though even during COVID-19.
How to select an outsourcing partner considering the economic impact on them
The IT industry can work remotely and most of the companies have worked either partly or completely remote long before COVID-19. So these companies faced the crisis prepared more than others. But the outsourcing industry is dependent on the businesses of the customers they do the development for. So tech also experiences the problems with sick people from coronavirus, drop of demand, decreased rates. This all can lead to the bankruptcy of the tech companies.
So when you are signing the contract with a company, you need to make sure that they will not go bankrupt in a few weeks.
In order to back the risk up for yourself, it’s important to do some homework and research the outsourcing partner a little bit to answer the questions:
- For how long does the company work at the market? – We recommend to pick the countries with at least 5 years of experience working at the market.
- How many customers does the company have? – If a company is dependent only on 1-2 customers, the probability that this company will stop is higher compared to those that have several.
- Does the company have a proven track record? – A lot of companies create new profiles due to bad feedback from their clients hiding the bad service quality this way.
Another way to mitigate this risk is to outsource to several companies, this is especially a good choice for big companies. This way you can ensure that even if one of the outsourcing providers stops, you’ll still have others. We are not stopping here on other ways to mitigate this risk by transferring the work to a new team which involves work with documentation, integration processes, etc.
Want to get more info on how to set up the process to build the proper risks strategy?
Security and data protection when everyone saves money
Security and data protection are probably among the most frequently named stop factors to outsource. The reason is it’s very hard to make sure that the team adheres to the security regulations, data protection requirements, industry standards and regulations. This is especially true for construction, manufacturing, med, legal projects. And during an economic crisis the first two things that suffer are security and quality since everyone wants to cut the spendings.
At the same time there are companies providing outsource services that specialize specifically on those regulations and standards. When selecting the team, you have to make sure that they have the correspondent competency.
Ideally, you should have the security expert in-house for regular revisions or to outsource the security audit to an independent company to make sure the software that is built follows the best practices. It’s a good practice to also provide the list of security requirements to the team before starting the work with them making it absolutely clear that this is something you do not want to save on.
Impact of COVID-19 on the code quality
Code quality is something that a lot of outsourcing companies can not ensure and very often depends on the specific team members you will be working with within the company unless you are working with at least a middle sized company that has processes in place that bring the project management to a higher level making it independent from individuals.
The code quality is usually insured by the team with the presence of the next procedures:
- Architecture, it allows to build the skeleton of the app
- Documentation, it allows not to redo the code because of an incorrect understanding of how it is supposed to work. And it also allows better integration of new team members avoiding unreadable code.
- Code quality, which makes it impossible for middle and junior engineers to write spaghetti code.
- Automated tests, which ensures that the old code does not break with writing of the new code, and is the frontline on making sure the initial code works.
- Refactoring, long terms projects have to take into account the % of refactoring that will be required to keep the code legacy at low levels.
Of course there is much more to this, but these are things that will help you to identify if the team is planning to give their attention to making sure the code is kept within the sufficient code quality.
Since teams are trying to provide the best costs they can, very often then can neglect the procedures mentioned above. And this is fine as long as those procedures are cut to “good enough” solutions and the code legacy is regularly tracked and measured.
Looking for a team of developers who write high-quality code?
New technologies during Economic Recession
Since tech is a very dynamic industry where new frameworks appear and die every month, the selection of a technology can also become a risk for your project. A lot of people want to keep up-to-date by selecting the most trendy and at the same time new technologies. Although this might be a good approach during the stable economic times, we wouldn’t suggest to go forward with such choice during the crisis. New technologies are either open source or commercial and their development also depends on the number of projects and developers working within it. And if investment stops into the commercial ones and developers have to switch to not so interesting technologies for the sake of keeping their jobs, new frameworks might not be supported anymore and this could even bring the necessity to rewrite the code from scratch.
So our recommendation is to pick the reliable technologies that existed for ages when selecting the programming language.
Agreement and conditions of work as positive risk during economic crisis
One of the problems that companies face when outsourcing the web and mobile development is not meeting the Service Agreements. This is usually reflected in two problems:
Work more expensive than expected
This is due to the fact that initial estimation is provided based on the limited knowledge of the project provided. You have to accept that no people would work with fixed prices if you haven’t provided the very detailed scope. Of course they might call it fixed price, but then sell a lot of functionality as “addition”. Fixed price term is used just to acquire a new customer. Per statistics around 40% of the cost of the projects is the sell of additional functionality during development. But time and material is a much more efficient system here and can save you from psychological trap. Usually, teams give the range of budget low level and high level. According to the statistics of our team, in 5,4% of cases we are below the low level margin, 26.5% of cases on low level margin, 53% average level margin and 12.1% high level margin of the budget, and the rest goes for over budget.
Juniors as Seniors
Another problem here is that some companies put Junior developers to work as if there were Seniors. This is a big problem and of course would lead to the bad quality. But purchase of only senior developer’s services is not an option either, cause Senior developers cost more. The solution that we would suggest is to have 2 middle for 1 senior. This will provide the best cost/quality.
The way to mitigate this risk is to review the feedback about the team and talk to references the team provides. Do not be lazy to write an email or jump on a call with a customer that already worked with the outsourcing company and get the information about the team and how often they meet the budget.
During a crisis this risk will be actually smaller compared to regular times just because senior developers become cheaper and the bench of free developers becomes bigger, so you have more options to select from. This particular risk is a POSITIVE risk that can actually help you get better developers for lower rates.
Have you faced these challenges? Or maybe there are some other issues we've missed?
Outsourcing can be a good choice to save money and save your development costs during a crisis and even after it. The risks it carries can be mitigated by careful selection of your development partner. You can already start treating your developers as outsourced subcontractors since they are working remotely, so starting the work with a company that does it at a better level of management can give better efficiency for better money.
So to sum up things to keep in mind:
- Select the countries for outsource that provide best code/quality taking into account their economic problems and governmental investments into the tech industry.
- Consider the history of a company at the market and the number of clients the company works with to assess the probability of this company going bankrupt.
- Have the security audit system in place and be clear with the requirements you put for security.
- Ensure the company keeps to the code quality standards listed in the article
If you have noticed other risks that economic recession is bringing to outsourcing, feel free to contribute to the article by commenting on it, we will make sure to include them.