We’ve always been forthcoming with our customers about our company structure – much of our backend development team is located offshore. We've also covered the topic in this blog before. I mention offshoring part of our team during every introductory call where I feel we'll be needing those services. We’ve been doing it this way since 2006, with the same core team members. With the exception of the occasional client who has strict compliance requirements which require domestic work, mostly in the enterprise category, almost every project in our portfolio has been worked on by that backend development team. Yet still, even today, the concept bothers some clients. People hear horror stories of offshore development teams and automatically assume the work quality is of lesser value or the skillsets are lacking. Obviously, this sort of broad generalization is simply not correct.
I’m a believer in the global economy. And the internet as a venue has made offshoring a no-brainer for digital agencies. One of the most significant advantages this offers is our schedule: since our teams overlap for only 3 hours per day, we have considerable progress performed before we even get to work. We overlap for essential meetings and communication, and then our design and project management resources are free the rest of the day to test, plan and communicate with clients. And because we have fine-tuned these workflows, it benefits our business and our customers significantly - on any given business day, whereas some organizations are working for just 8 or 9 hours, we’re making progress for 18. If we hear of a task at 11 PM, at 3 AM, someone is working on it. That’s a massive advantage for us.
Yet, despite all of the benefits, some clients are still skittish about the idea of offshore (and even distributed) development. For the most part, the feedback we receive from those who have strong opinions on the matter is influenced by having either heard a horror story about offshoring work or trying themselves and failing in the past. Truth be told, I’ve heard all of these stories too. Often, it comes from customers who come to us as their projects are in the middle of blowing up. And commonly, they all follow the same story: people tried to offshore themselves without a comprehensive plan or understanding how to best make use of the strategy.
And that really is the secret to succeeding with offshore resources: you need to have a plan for how those resources work within your team and/or systems. And if you don’t, then hire someone who does. Why? Because an offshore development team is just one component of a successful approach to developing a product or application. It is not a one-stop solution to solving your problems.
“I’ve Worked Offshore Before, and It Didn’t Go Well.”
This is the most common objection we hear, and we hear it often. There are indeed many developer relationships that people have with offshore resources that don’t work out. In truth, the same thing happens onshore, as well. Only people are much less vocal about those issues because, more likely than not, they suspect in the back of their minds that the failure of onshore relationships may be their fault rather than the agency they hired. In my experience, the vast majority of bad offshore experiences are by people who are hiring offshore developers as their only technical resource. This means someone shopping around a project employs a single offshore team to do all of the work. Ultimately this is risky because you have no local resources, no local laws or oversight, and potential cultural differences. Not to mention, offshore agencies aren't usually structured for full service.
Risk is best mitigated by working with agencies that employ a hybrid approach. At NP Group, we have our design, account management, and product development team in the United States, most at our office in New Jersey, though we are now hiring around the country. Our backend development team works seamlessly with our local team members to complete projects. This way, we are ensuring our clients are working with local resources and removing almost all risk from the relationship. NP Group is guaranteeing the work, we carry all necessary licenses and insurances, and in most cases, clients never even need to deal with the offshore component. This lowers the chances of everything going awry later.
The inverse is someone hiring a team that is solely located offshore, which introduces a host of problems. Now the client must work around the time zone in which the agency is located - feedback loops can take a day instead of hours. They have to be much more verbose in their project requirements to set expectations – offshore agencies aren’t great at “filling in the blanks.” Payment and logistics are more challenging, and if things go wrong, there is ultimately very little recourse. Those types of scenarios never work out well.
For those who have worked offshore and have a bad taste left in their mouth, I’d encourage you to think critically about that engagement and see where the disconnect occurred. Were you expecting the offshore agency to do everything? To perform every single task around your project? Fill in the gaps that inevitably arise? Those are all leading indicators of why your project may have fallen apart.
One more point I want to make here – an agency that has a sales presence in your country and offshore resources is not good enough. You ideally want local project management, local design, and account management. Many offshore companies with hundreds of developers have local sales resources – these are decent solutions if you are an agency and can do the rest of the work, but not if you are a Client with a one-off project.
How to Make Offshoring Work
As a client, you must understand the scale of skills needed to complete a digital project these days. It isn’t just a developer or a designer that you need. Instead, it’s a team of various individuals who help to bring a project to fruition. And, of course, you need to define what your role is within that team. To build a start-up mobile application, as an example, you need planning, which typically happens with an architect, product manager, UI/UX designers. You need design and layout; you need development, databases, APIs, testing/QA, deployment, system administration. I can go on and on. There are few, if any, purely offshore agencies that do that all well, at once. And the risks involved are significant.
Instead, focus on where offshoring can work well in terms of pieces of the puzzle. Can you hire local designers and product managers and then outsource development? Sure. You can build an entire team that way. Of course, unless you plan to hire them full-time – it usually makes more sense to have an agency do the work!
The most successful organizations that offshore do so by moving over segments of their operation, particular pieces, to offshore resources, which those resources can focus on specifically. And, above all else, they do it for the long-haul. Not for a one-time engagement.
As mentioned, we perform the majority of our backend development offshore. Less so front-end development and zero front-end design or UI/UX work. That mix works for us – it’s an outstanding balance – and the work product is excellent. But we worked hard to define processes, workflows and kept the client-facing work local. And, we've worked hard to remove risk from the process.
In wrapping up I feel that understanding and setting expectations are essential. There is a big difference between an agency you are hiring locally that has offshore resources, versus you hiring offshore resources yourself. One is an efficiency and the other is a liability. Overall, to a well-run agency, offshore resources make almost zero difference from a business, workflow, or cultural perspective. But for those who hire an offshore team expecting an all-in-one solution, it's a totally different story.