For many years, India has been the most popular "outsourcing" or "offshoring" software destination. This has been fundamentally due to price, as well as to the availability of software engineers in this gigantic country (and is partly also motivated by the successful diaspora of Indian talent into the US, which creates networks and connections with the home country). The fact is that, during the late '90s and early 2000s, people didn't really think much about where to outsource. They just went with India...
Much has changed, however, in the last 10 years. Multiple outsourcing locations have surfaced around the globe, including Ukraine, Philippines, China and, yes, Latin America. Good (and mediocre) vendors can be found in all locations, of course. But since there are so many options, a good way of starting to find a partner is perhaps to narrow down the search by strategic criteria first, then go and do a selection by potential vendors. Otherwise one will find oneself overwhelmed in looking at dozens (even hundreds) of potential partners in multiple geographies, with not enough time to finish the process.
One such possible strategic criterion is LOCATION. Interestingly, when searching for an IT outsourcing vendor, a lot of people think about price, technical expertise, company size, and many other criteria, before delving on the location itself. But it turns out, that in the modern world of software engineering location is critical to a project's success. Here is why:
Best practices in the development of modern applications consider the ability to iterate and adapt the functionality of what is being built, as a key success factor in creating a relevant and engaging app. This postulate applies to all sorts of apps: whether they be mobile and consumer facing, or web-based and used exclusively as a line of business application within a corporate headquarters. Without the ability to course-correct during development, or to have the client pilot parts of the development and provide early feedback, the chance of creating an irrelevant app --or of sinking many dollars into functionality that will never be used--is very high.
Now, to be able to work with an offshore software development team in a way that is highly collaborative, several things have to happen. For one, the client's Product Owner needs to be in constant touch with the offshore software development team. This communication could boil down to attending daily SCRUM meetings, or to being able to answer questions quickly that come up on the software engineering side of the equation, so that the software development team does not slow down or stop due to lack of information. For this type of agile collaboration, working with a partner that is 13 or 14 hours away, time-zone wise, is very difficult. This is because meetings cannot be "improvised" (i.e. an informal call to answer a question) but rather need to be planned. And, when planned, these usually take place at uncomfortable hours when time zones in the US and Asia (or Eastern Europe) coincide. Hence, location, or time-zone proximity, becomes essential to assure a truly agile interaction between the parties.
There is another aspect to bear in mind with regards to time-zone proximity. It has to do with the ability of teams in the US to maintain an adequate work-life balance. As is well known, software engineers are in extremely high demand all over the world, and markedly so in the US. Hence, companies are making all efforts to retain their valuable talent, often by ensuring that people are able to work under adequate work-family balance. But, things will quickly become uncomfortable for engineers at both ends of the equation (whether at the client site or at the offshore partner's site) if time zones do not match (again, because of the complex working hours that result and that are needed to manage the offshore teams). This in itself will tend to create employee dissatisfaction, and possibly, employee churn at the client site. Now, some offshore technology vendors are open to minimizing this by adjusting their work hours themselves, but this only transfers the problem, given that churn will begin to occur with the offshore software development partner.
Finally, location influences work culture. Although this is a sensitive topic that is highly open to interpretation, in our experience work cultures do differ across the world (i.e. the Japanese business culture versus the US business culture is a non-controversial example). And although there is always an exception to the norm, clients might flow better with vendors in one locality than another. Our recommendation here is to speak to potential colleagues or friends who have worked in different locations and geographies, to better understand what strengths and weaknesses they found with a particular culture. Some cultures are very good at obeying instructions and are very careful with saving face with clients, becoming overly conservative in voicing opinions. Other cultures are good at voicing their opinions and proactively incorporating additional suggestions (even if those contradict the client's original recommendation). Bear in mind, then, which culture seems more appropriate to work under an agile framework of constant collaboration.
Once you have chosen your location, begin to investigate vendors that are able to operate from it. Often it is preferred that the vendor have headquarters located at the selected location. Why so? Headquarters are the seminal force that generates the global growth of a company, and often are the most powerful influence over the culture of an organization (to go back to our example, it is probably not the same to work for a Japanese company with an office in Silicon Valley, than to work for Google in Japan). Other posts in this blog have elaborated on what to look for when choosing between vendors... Good luck with your partner search!
Want to have a conversation about the benefits of nearshoring in agile software projects? Contact us!
More on Perficient Latin America: Perficient Latin America specializes in outsourcing and nearshoring Agile software development, software maintenance, quality assurance, and staff augmentation. With offices in Colombia, Mexico, and the US, Perficient Latin America has customers all over Latin and North America, ranging from tech startups to Fortune 500 companies.
To select offshore developer one have to lookout on many points specially for time, cost and how large and experience team is going to work for you.