The 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.