Offshore software development: fears, risks and stereotypes

Risk is definitely a factor in all software development projects, not only in outsourced projects.

Let’s look at the different kinds of risk, what can go wrong, why some of these risks are more stereotype than reality, and how to manage and mitigate them.

The most dangerous risks are those you can’t predict. The good news is that most risks connected with software development outsourcing overseas are well known and you can eliminate or be ready to deal with them.

Cultural risks.

This group contains risks that may occur due to another culture:

  • A different language
  • A different business ethic
  • A different mentality
  • A different education

In many discussions regarding outsourcing teams overseas these points are mentioned as negatives. They speak different language, they celebrate different holidays, they have another business ethic, they’re from different culture, so they can’t deliver high-quality code on time.

If you listen closely you’ll find that they sound more like stereotypes than actual threats to your project.

Actually, they sound ridiculous, right? If they were real no international company could survive. But, obviously, they do.

Probability and impact: While the impact of cultural risks can be huge, you can significantly reduce the risks early on.

How to manage/eliminate risks: Before international companies start expansion to a new region they do research, pick partners carefully and build clear and effective communication processes between departments and partners.

You can do the same. Invest time in research. Check their portfolio and references, and interview your potential team to check their English competence, technical expertise, and if they share the business culture, beliefs and values of you and your team.

Communication risks:

Communication risks are often framed as a lack of face-to-face communication because of time zone differences, distance, ESL  barriers, etc. But the true communication risk is a lack of transparency and limited information.

The true risks result in issues being ignored until they become the crisis of the day, while some vendors have a “no bad news” policy embedded in their reporting.

No one likes hearing bad news, but if there is some you want to know soonest. Not sharing problems early means worse news later leaving fewer options to deal with the situation.

The communication approach of your in-house team is also critical when working with any outsourcing company and is often overlooked.

If you think of your outsourced partner as a real team member you will be more open to hearing ideas and criticism. You want two-way feedback and respectful interactions, in order to get the best results.

Probability and  impact: Impact is high. Probability depends on your choice of an outsource vendor.

How to reduce/eliminate: There are dozens of tools to erase distance and there are practices that turn time zone differences into benefits.

The most important thing is to find a software outsourcing company that can and will collaborate with you as a partner.

During the interview ask about challenges faced in previous projects and how they were solved; ask the corresponding references the same thing.

Claiming they’ve done multiple projects and never had an issue should be a giant red flag. The reality is that mistakes happen and issues will arise; they just need to be managed correctly and dealt with quickly.

Management risks

Management risks are often the result of the risks described above.

The lack of face-to-face contact, time zone differences/lag, response delays on both sides, etc., make planning, coordination, control, and prioritizing more challenging.

That’s why it is common practice for outsourcing firms to provide a project manager who will control every aspect of your project, track the development, and deal with all possible issues during the process, while keeping you constantly and effectively in the loop.

Small issues will be solved faster before they enlarge; larger issues are reported in detail, including possible consequences and suggested solutions.

Impact and probability: Huge impact on the quality of your final product and meeting deadlines. A local project manager significantly lowers the probability.

How to reduce/eliminate: The lower the skills or experience levels the higher the effort required, so picking the right partner greatly reduces this risk.

You need a contractor that provides a project manager along with the development team. Also, ask if the team has previous experience working together; a cohesive team is a huge benefit for any software project.

If your have preferences in managing methods, such as agile, scrum, waterfall, etc., it’s wise to pick contractor who uses the same methodology.

Technical risks

Along with communications, nothing is more important than the technical skills of the team.

There are dozens of stories blaming outsource vendors for buggy software that leads to product failure. What is often omitted is how  the choice of contractor was made.

It’s hard to believe that a company with proven previous success suddenly failed with simple mobile app. The more probable scenario is that the vendor was chosen based mainly by price, regardless of tech stack, portfolio, or references.

You should be aware that there are different types of software development companies: dev shops and development companies.

The most difference, regarding to technical skills, is that development companies hire full-time only. Dev houses hire as needed.

Development companies invest in their full-time employees by providing training and extensive learning opportunities for them.

In order to vet the technical skills of your outsource team you should test developers using one of many online services, such as  Hacker Rank, Interview Mocha, etc., that help you interview even if you don’t have a technical background.

A portfolio and matching references are also great proof that a company is able to deliver.

One of the largest technical risks is the difficulty integrating the  “outsourced” part of the product, as well as support and maintenance in the future.

Probability and impact: The extreme result is that you could end up without a product, but the probability of this is very low if you invest time in due diligence.

How to eliminate/manage: Providing clear, accurate, and complete requirements and specifications for all stages of your software development life cycle will go a long way to eliminating the integration, maintenance and support issues.

Never shortchange your due diligence: check the portfolio and matching references and use easily available tools to evaluate and confirm technical skills. Professional, reliable contractors will not charge you for these sessions.

Summary

It may seem that outsourcing your software development overseas demands extra-time and discipline from you, when, in fact, you would need to do the same things for domestic outsourcing and even in-house development.

The more time and effort you invest in planning and due dil, the less frustration you’ll have during the development process, and the more likely the outcome will be a great product.

Leave a Reply

Your email address will not be published. Required fields are marked *