5 critical factors to consider when offshoring software development

10 Critical Factors Of Technology OffshoringThe benefits of offshoring or outsourcing your technology needs has some direct advantages which we all know about. Having said that it can back-fire big time if we are not diligent about selecting the right partner/provider for the needs. I have been on the both sides of the table and would love to share some of my knowledge which hopefully will help you in selecting that “Right” technology partner.

First and formost, there is a huge difference between an offshore provider and an outsourced provider. An outsourced provider may or may not be offshore, and  that has a major impact on how things would turn-out for you, which we are not covering in this article today, we will focus on the factors that you need to consider while select an offshore technology partner.

1. Communication: 

One of the most important issue in all the failures, more so in offshoring. The linguistic barrier or the lack of it, can be a major contributing factor in your success. And by communication at this stage I mean plain english (this article assumes that you are from a majority english speaking community). Ask two simple questions:

  • Can I explain/describe my needs in plain & simple english?
  • Can the provider and it’s employees understand and convey messages in plain and simple english?

If the answer to the above is YES, then you can move onto the next issues. Basically, if it takes anybody more that 3 tries to explain/communicate a simple scenario then its a big problem.

Example of how a small thing can confuse everybody involved: “I want this report to be kickass”, the term “kickass” is very commonly used. There is a high possibility that this term is not that common in the country of your provider and I will leave it to your imagination of what a developer can make out of that statement.

2. Company DNA

You need to know following for sure:

  • Size of the Company: Matters because you want to know if they can expand if you need them to.
  • Age of the Company: How long they have been around? Will they be still there if you need them to support the software post the release or sometime in future.
  • Internal Culture: Is it employee friendly? Do they exploit? If the developers are not happy they may leave the company while working on your project, which will most definitely have time and potentially cost impact.
  • HR and Recruitment policies: Confirms their hiring policies, do they hire lot of freshers of the campus? Ask them for the resumes of the people working on your project.
  • Working hours: If they say that the team will work US hours for the whole project, trust me its a bad idea, the team/developers are not gonna like that, they would do it because they have to, but again they may leave as soon as they find a better opportunity. Instead, have an hour or 2 of overlapping time each week or daily in the beginning.
  • Certifications and Associations: Lot of these companies have DnB numbers in various countries now, plus countries like India have a government body that manages the software exports, ask them for their affiliations to these organizations, It’s a good sign if they have all these in place.

3. Business Domain Expertise

This is a big plus, if the provider has worked on something similar in the past, then it will make your life much easier. But you need to be careful, the company may have the domain expertise, that may not necessarily help, the idea is to ask for the team that has worked on similar project.

4. Project/Task Management Process & Quality Assurance Standards

I have seen and experienced that lot of small to medium size development companies tend to ignore this. I recommend that even if the provider does not have a magnificent and out of the work project management process, they need to have a simple task/issue/people management tool which can be used by both the parties to achieve following:

  • Add/Describe tasks
  • Add/Describe issues
  • Team management – task and issue assignment

Most important, do you as a client have access to the tool or not? This will provide you greater visibility into the workflow and will force the provider to stay focused and honest.

For the quality standards even if they do not have ISO or other quality certifications, ask them what their process is, if a development company has a well documented quality assurance process then the chances of things going down south is reduced. Check if there are ways for you to make sure that your team is following those processes frequently.

5. Travel Possibilities

Check how easy it would be for you to travel if possible? Check the visa issues if any? Confirm if any of the team members, especially the lead or the manager has a travel visa in place in case they have to travel. It may not be part of your budget, but trust me there could be a situation where you would have to choose between extend dev time of 1 month or a lead coming over for 1 week.

Cost benefit is one of the major reason we offshore our technology needs, but if any of the above mentioned factors are not even satisfactory then in my experience, the cost advantage that you had at the beginning of the project is reduced by 50% by the time you are close to the end of the project.

One of the best models of offshoring is a hybrid model, select a provide that has a local presence and can provide you with the leader or manager locally. Your point of contact should be the leader/manager and he/she can manage the team that is located offshore. This model increases your cost but dramatically increases you chances of project success within the planned time and budget.

Pros and Cons of Technology Offshoring

Being in the IT industry for 15+ years, most of which, I have also been an integral part of the technology offshoring, I can share some basic pros and cons of offshoring your technology needs…

The technology offshoring matrix:

Factors In-house Off-shoring Side-Effects / Comments
Cost High Comparatively Low
  • Possible Impact on Quality because of communication issues
  • Possible impact on cost at the later stages
Quality Medium High-Medium
  • If the needs are communicated efficiently then the quality from a service provider is very high
  • In-house employees sometime tend of let it slip, but the control is higher
Specialized Skills Low High
  • Easy to find providers with the skills needed on contract in comparison to hire someone with the skills
Communication High Low
  • Linguistic barriers
  • A bad communication can lead to ngative cost and quality impacts.
Business and Company Knowledge High Low
  • A definite impact on quality, especially if the provider does not understand your business
Contractual Obligation Medium High
  • The provider feel obligated to complete the work, having said that my experience has been that if pushed it has a very bad impact on quality.
Social and Cultural Knowledge High Low
  • Again major impact on the outcome and quality of the work as the provider or it’s employees do not understand the needs as a consumer
Staffing Issues High Low
  • No HR, Insurance or payroll issues
  • Having said that don’t forget that the provider also has employee retention issues, which may have a big impact on your projects quality
Managerial Control High Low
  • Possible impact on Cost and Quality
Security and Confidentiality High Low
  • Could be a business issue
Transparency High Low
  • Cost impacts

Hope this matrix helps, also read my article on Parameters to consider before hiring an offshore provider