Before you decide to hire and work with an offshore team you need to make sure you are actually prepared to engage such a team. The first thing you need to organize for IT outsourcing is yourself. Have a project that is clearly defined, decide who is managing what, and choose a product owner. The product owner is the one whose role it is to captain this whole venture. Have someone who is ready to to manage the stakeholder’s expectations and to break these down into concrete goals, inform and coach your future outsourced team, and prioritize tasks. Once your house is nice and tidy and everyone knows what their role is, it is time to make more specific preparations.
Define your Approach
Now it is time to do your homework and by homework I mean you need to define your project in concrete terms define your approach to change management.
Resources (cost), deadline (time), scope (features), and quality are the typical attributes that characterize a project. It is crucial to identify which of these items are most important for you and your company because the circumstances surrounding your project will change over time. For instance, if the deadline gets shortened or the budget gets squeezed, you will have to decide whether you will drop some features or lower the quality level.
Thus, before involving an offshore partner in a project, pick what you are willing to be flexible with. If the level of features for a project is non negotiable, then you have to be able to be flexible when it comes to time and cost in order to develop the amount of expected features. This type of project can be considered as a typical “waterfall” project, characterized by the fact there is a need to wait for the whole system to be built before testing: you may think of an aircraft, a missile, or a rocket. The JSF program has many critical components to be built and yet those components will only be fully tested when the aircraft flies. These types of projects often go over budget as they lead to the late detection of errors or specification mistakes or adaptation to change.
If time and cost need to be fixed at a specific level, then you need to be flexible with the amount of features you develop. In this case a team will need to develop the most crucial features for end users within a limited amount of time and at a limited cost. This is how Agile projects work, they can adapt to change early in the development process while managing time and cost in a rational manner and a combination of the Scrum Master, the Product Owner, and the developers themselves will decide what features to include within the limited amount of time they have to work. An Agile approach is more likely to be used by projects that are subject to early user or stakeholder inputs, and is often the preferred approach for startups.
Once you know what type of approach you want to use you can begin your next homework assignment, which is to start researching your partners to find one that is compatible with the path you want to take.
Finding your Partner
It is best not to jump into a long term relationship without getting to know your partner first. So it is best to ask a few questions to get to know them better like, what are their processes, what have they done in the past, are they Agile, and of course if their corporate culture is compatible with your own. You also need to look at their technical stack and make sure that their tech can accomplish what you need it to do and that it is compatible with your own tech stack. You should avoid a partner with a narrow range of expertise as this small range of tech will be the only thing they push no matter its merits and drawbacks. It is best if you come prepared with your own toolkit and to make sure the tools that you have chosen are essential and can be used by your partner, but also be open to suggestions for alternatives as your partner may have some interesting proposals.
One way to test out a partnership is to take it for a trial run by doing a discovery phase. A discovery phase starts with creating a high-level product description and ends with the potential outsourcing partner completing a series of tasks in a sort of mini sprint that can last from 0.5-3 days. This is an investment, but one that usually pays off handsomely as it really lets you know whether this is a partner you can engage on the long term or not.
Construct your Team
After finding a partner that you want to work with, your preparation isn’t over yet. Even if you found your partner you haven’t found your team yet and now it is time to look at the profiles your partner can offer you. They are likely to give you suggestions but you should ask to interview candidates yourself and if at all possible go and do an onsite visit. Find the experts with the tech skills you need but don’t forget about soft skills as well, these are especially important when it comes to long distance cooperation in an offshore project. Take the time to custom build the team that will in turn be building your product.
Sharing is Caring
Even now that you have a partner and a team selected there is still more you can to do go guarantee a successful outsourcing experience.
The best way to guarantee success in an IT outsourcing project is trust. Partners that can trust each other are much more likely to work well together. But how can you build up trust with a partner that is potentially thousands of kilometers away? This can be accomplished in part by transparency. Both partners should be very clear about what they expect from each other and both parties should be able to share their vision as well as their strengths and weaknesses. Along with this comes accountability, after your expectations are expressed, both you and your outsourced partner should be accountable for actions taken. As you work together, transparency and accountability will build trust and trust in turn will help to build success.
So to build trust you need transparency, but how do you build transparency. If you already did what was described in the first sections of this article you are already on the right track. You should already have your goals, priorities, and strategy set up, which means you just need to make sure you share them. You should also set up KPIs in advance and share these with your IT outsourcing partner. By letting them know what you are measuring they will know what to aim towards for project success.
It is also important to have a Definition of Ready and a Definition of Done, so both you and your partner know when it is time to get started and when it is time to move on to the next step. Overall the more communication the better, and you should plan to give at least 15 minutes at the beginning of every day to meet with your outsourced team to talk about progress, impediments, and remedying actions. The more information you share with each other the easier it will be to build trust and again the more likely you are to attain project success.
As important as it is to prepare for cooperation, legal preparations are just as important. When hiring a partner for an outsourcing a project it is crucial to check if your partner is in compliance with your legal, IP, Security, and Regulatory constraints. Legal requirements are different in every country and it is important to make sure everything is in compliance in both of your countries.
Legal preparations will also help you protect your IP. It is likely that you will want to ensure that your source code is exclusively yours and that it is continually delivered to you, that your partner does not gain any of your IP rights while working on your project, and that your partner actually documents their processes and their code so that your dependency on this supplier is minimized. This can all be done; you just need to take the time to set everything up in your contracts.
The Big Sum Up
Prep and prep early. Do not hesitate to create a collaboration framework document with your partner in order to put the following in writing:
- The roles and responsibilities of each individual involved (e.g., stakeholder, product manager, legal and sales point of contact, project manager, developer, tester),
- The critical events/meetings that need to take place during the project and their related artifacts
- The KPIs to be used during the project and the tools used to measure them
Overall your need to prepare yourself, research your partner, and then prepare your partner while creating an atmosphere of trust and open communication. Make sure your legal protections are clearly set up as well because even the best planned projects can go south.
If you are interested in setting up an offshore or nearshore IT outsourcing team take a look at our price catalog.