Start on a solid foundation
1. Choose the right outsourcing mode
If your project is very precise and punctual, with specifications that will not be altered, a fixed price service is usually more suitable. This will allow you to have a strong commitment for a fixed price.
However, in the event that a project evolves over time, a package can become suffocating and stall progress. Indeed any change, even minimal, will oblige all parties to review deadlines and price. This administrative overhead can end up taking a lot of time and is expensive (as a fixed price project involves higher costs).
If what you are after is more agility in your project, setting up a dedicated team with time billing is by far the best option for getting started with offshore, compared to package mode. You benefit from low cost days, with all the support and technical expertise of your provider to launch and manage your project. In addition, this allows you to set up working principles with the service provider that incorporate your company's procedures.
2. Establish the exact scope of the project
In the beginning, you need to entrust your subcontractor with specifications or an accurate backlog. The scope of the project must be clearly defined; If you do not have the opportunity to do so, you should express your need to allow the outsourcing company to write the specifications.
3. Explain your business and your goals as much as possible
Your outsource partner may not be as knowledgeable as you are in the market or industry of your business. Take the time to educate your provider so that they understand the unique issues your business has to deal with. Explain the goals you set for yourself. Beyond the code, it’s important that they understand the intricacies of your project, so that they can make informed proposals on the technical-functional choices in the future.
4. Apply methods
Distance changes work processes. Implement methods and apply them to your internal team and take time to consider how to keep the offshore team as aligned as possible. Your provider should be able to suggest the right working methods.
5. Define the responsibilities of each actor
Details to consider for all the project actors: Who does what? Who is responsible for what?
Scrum is an empirical method based on predictability and risk control. It defines three roles:
The Product Owner : Responsible for customer requirements, plans the content of development sprints and provides detailed specifications to the customer's team.
The Scrum Master : Guarantor of the good achievement of the objectives, applies Scrum values to the team and facilitates inter-stakeholder collaboration.
The development team : Delivers the prioritized functions at each end of the development sprint.
Depending on the size of the projects, a RACI matrix can be interesting to use as well.
The accountability of each actor is even more essential if you decide to subcontract only part of the realization of your software. For example, you keep the central part of the developments process and only sub-contract the peripheral part.
6. Visit your provider in their country
As far as circumstances allow, before starting kicking off your project, go meet your provider and your future team. Get to know them in person: there's nothing more effective for building mutual trust and starting your relationship on solid ground.
For ensuring the quality of the infrastructure and the team your provider offers:
Define project steps, tests, recipes, and more. Talk about the famous Project Plan, just as you would with your provider in Europe, or wherever you’re based. This is an opportunity to explain your project in detail, so they can understand what you expect.
7. Get 100% involved in your project
Beyond skills, you'll have to dedicate time to your provider. The success of your IT project, outsourced or not, is clearly linked to the quality of the exchanges between all the relevant actors, as will be demonstrated below. Take the time to integrate and follow the project with your IT partner .
Communicate! A project thrives on communication
8. Adopt a common vocabulary
Define the common vocabulary which will be used with the offshore team over the course of the project; for example, what does the notion of "finished" mean? For a developer, the functionality is usually ‘finished’ when it is ready to be functionally tested. For a manager, it is when the function can be deployed in production. And for the project manager, it's when the service is operational and can be delivered to their customers.
9. A "yes" that means "no"
Different cultures have different approaches to communication. Due to cultural taboos, offshore developers might be afraid to say “no”. They may also prefer asking new questions instead of declining something. Answer their questions until you are sure that they have understood your request and that you are both on the same wavelength.
10. Speak with an English-speaking team
If you work with an English-speaking provider, it’s best to communicate in English. The goal is to make yourself understood, both in written and spoken forms, so there is little need for more than that.
Whether it is Vietnam, India, or China, a basic level of English is required wherever it is still the usual language of business. Just as we have a "French" accent when we speak English, Chinese, Indian or Vietnamese, to name a few, also have their own accent.
The advantage is that we all practice English as a second official language, which facilitates communication.
Before each meeting, think about sending your documents and material in advance, so that they can be examined before your interaction.
11. Follow the development cycles well
Make a habit of calling your offshore team for 15 minutes minimum on a daily basis, in the same way as you would talk to your team of developers if they were in the office next door. This will allow you to build a rapport and stay updated on their progress.
12. Master the time differences
With significant time differences that can range up to seven or more hours, it’s important to organize and set up a simple routine:
If your provider's time zone is GMT + 5 , plan all your calls in the morning if you’re in Europe.
If your provider's time zone is GMT - 5 , plan your calls in the afternoon.
This leaves you a time slot of three hours a day to talk with your teams, which is more than enough.
13. Throw away prejudice
Don’t begin with preconceived notions of superiority or cultural prejudice (which is often the case in Europe), and trust the provider you have chosen.
Your subcontractor will be wary of you if you show extreme mistrust.
14. Say yes to trust and delegate power
As you would when hiring a new employee, first ensure they are technically competent and respectful of the best practices related to your work habits. It’s quite normal if this isn’t perfect at the first delivery. It is however essential that you outline the points that need correcting and that this is taken into account during the next deliveries. Trust will build over time and you will steadily be able to give more responsibility to your offshore team.
15. Be open minded
Stay open minded and take into account cultural and linguistic differences. Offshore outsourcing is a very rewarding experience, if done correctly. Avoid saying "This is how we do it where I’m from" and instead try phrases such as "What do you think of this practice?”.
Trust your working relationship, but don’t forget to formalize in writing (via emails for example) what concerns a procedure, a commitment or a method of work.
A small anthology of what not to do
Do not pay attention to the legal framework governing your project: do not engage with an opaque company about its services and its operation. Opt instead for a company with a head office in France that you can access easily.
Do not jump to the conclusion that offshore outsourcing is only for large companies and not for small and medium-sized businesses.
Use offshore to overcome a lack of internal organization.
Presume that the country is not up to achieving your project: some countries (India, Madagascar, Vietnam, etc.) are certainly less developed than those in the west, but they are heterogeneous and have new centers, universities and thriving economies.
To briefly summarize
Offshore outsourcing provides a lot of benefits for carrying out your IT projects. Competitive pricing, flexibility, time saving, and/or skills shortages are multiple reasons why companies are using this growing mode of production.
Outsourcing is a strategic choice because it is part of a long-term partnership approach with your service provider.
We offer offshore outsourcing services in a French legal framework. It's a very positive and rewarding adventure that many of our clients have benefited from, realizing their achievements along the way.
Visit our case study selection to discover how we help our clients to develop their IT projects in our 3 service centers.
Tech, methods and news
Working well with a team of foreign developers (Madagascar, Vietnam) means taking cultural differences into account.
If you're on the fence about whether to hire an external development team or hire an in-house development team, read this article.