The software outsourcing market is expected to grow by almost $100 billion in the next three years - and it’s not hard to see why. The golden combination of top engineering talent and affordable wages offered by some developing countries continues to be extremely attractive for firms across the developed world. In India alone, there are thousands of IT agencies offering exactly this kind of access to foreign companies, some of them exceptionally well-resourced and boasting valuations in the billions.
So how come software outsourcing remains such a deeply discouraging experience for so many companies? What exactly has gone wrong here?
The answer to this question is simple: software outsourcing as it currently stands is broken. Based on an inferior and unsustainable business model, the entire industry has frustration, deception, and failure built into its very core.
Consider India, with its unparalleled reserves of software talent, its huge and growing economy, and its advanced IT infrastructure. How is it that a country with so many incredible assets has developed such a poor reputation in the outsourcing domain? Where do the specific problems lie? Is it possible to overcome them and instead create a new business model that properly serves everyone involved?
For years now, I’ve been trying to answer these questions. I’ve been figuring out what has gone awry with software outsourcing - in India and elsewhere - and how we might fix it. Based on my own experience and research, I’ve come to a few conclusions about how to preserve the best parts of the prevailing model while discarding everything that doesn’t work. But in order to get there, we must first take a look at how companies, especially cash-poor startups, typically make contact with the Indian outsourcing market, and why the outcome is so often radically disappointing.
A PASSAGE TO INDIA
Nothing will rid you of your illusions like starting a business from scratch. Your product might be incredible and revolutionary in theory, but if you lack the resources to attract talented people to build it, then you’re going to have to make some sacrifices.
Of course, large companies don’t have the same problems. Indeed, not having to make sacrifices is one of the advantages of being rich. From marketing to distribution, the world’s biggest firms can safely invest money upfront into building systems that, in the long run, will actually save them money. This, of course, includes investing in a brilliant team, and providing the right amount of remuneration and benefits to retain that team’s diligence and loyalty for years.
Nobody said business was fair.
Many startup founders learn this the hard way when they first attempt to build a software engineering team. Step one usually involves placing a job advert on an employment portal like Indeed, Monster, or LinkedIn. Step two, unfortunately, is where founders tend to become discouraged as they begin to realize just how in-demand, and how expensive, the most talented engineers really are. Everyone wants a developer good enough for Google, but almost nobody can offer Google-like salaries.
This is where founders begin to seek out alternatives. Normally they will break down their software needs into projects, and then attempt to scout more affordable freelancers to take on these projects. Sites like Upwork and Fiverr, which connect employers with freelancers, usually represent such a founder’s first contact with the world of Indian software talent. Although they don’t bill themselves in quite this way, I’d argue that the real value of these platforms lies in the economic bridge they build between first and third-world economies.
For many, these freelancing platforms can be a revelation, at least in the beginning: instead of offering six figure salaries, benefits packages, healthcare, smoothie machines, and beanbags, founders are suddenly able to work with skilled engineers for a fraction of what they initially expected to pay, and with none of the same obligations. It can seem like a dream come true.
However, freelancing sites are far from ideal. Although well-suited for contractual, project-based work between individuals, the likes of Upwork do not easily facilitate the building and maintenance of reliable teams over the long term. Not only can it be hard to address quality issues in these spaces, but the semi-anonymous, gig-based nature of the work presents security challenges, especially relating to the protection of proprietary technologies.
Freelancing, in short, works well for small, casual, short-term projects. When a company’s software demands begin to multiply, however, that’s when something a little more robust is required.
FROM FREELANCING TO OUTSOURCING
Enter agencies. Moving from freelancing platforms to outsourcing agencies is the next logical step for founders wishing to capture some of the advantages of the enormous, cheap Indian talent pool.
It certainly seems like a sensible move. Agencies typically promise a degree of communication and legal protection, as well as access to workers with specific technical skills, that far exceed what you could expect to find on freelancing platforms. And they offer all of this for a low price - at least relative to the first-world job market.
Unfortunately, these promises all too often fail to materialize. There are a number of reasons why this is so, and these reasons are intrinsic to the prevailing business model which I mentioned earlier.
First of all, agencies give clients very little decision-making power about who is actually working on their projects. In some cases, clients will be provided with a shortlist of candidates but no information about the agency’s vetting procedures; in other cases, they’ll be given no choice at all.
Furthermore, engineers are prevented by design from speaking directly with clients, who must instead deal with intermediary figures bearing vague titles like “account manager” or “business analyst.”
While engineers in India tend to be young, versatile, and well-versed in foreign norms surrounding business and technology, these middlemen are typically older and less proficient in managing interactions with foreign clients. What this dynamic creates is a culture of poor, inconsistent, and frustrating communication.
But if the problem were simply one of substandard communication procedures, then it could in principle be easily fixed. In fact, outsourcing agencies in their current form are structurally ill-equipped to deal with the realities of large IT projects, regardless of the individual employees involved. The reason for this is simple - agencies have no financial incentives to produce high quality work in a timely fashion.
This holds true whether the client-agency relationship is based on a fixed price contract (in which the client pays a flat fee for an entire project) or a “dedicated resources” contract (in which the client pays by the hour).
In fixed price contracts, agencies tend to race against the clock to finish the project as quickly as possible. Why wouldn’t they, after all? The more time and labour they dedicate to a fixed price project, the less value they derive from it.
Hourly contracts, on the other hand, involve an unpleasant inversion of this incentive: agencies will prolong projects, sometimes in plainly deceptive ways, in order to squeeze as much cash out of the client as possible.
In my experience, hourly contracts are still preferable to fixed price ones. This is because it’s next to impossible to foresee all the various challenges, pivots, and delays that a typical software project will entail. Like most founders, I much prefer to receive excellent work slightly behind an agreed deadline than to be left with poor work that's delivered on time. But outsourcing agencies often give you the worst of all worlds, especially if you go with an hourly contract -- plenty of delays, and very little quality.
I’m reminded of the famous Woody Allen joke: “the food in this restaurant is terrible, and such small portions!”
The agency-based outsourcing model should have been discarded long ago. It serves neither foreign clients nor the local engineers who do the bulk of the work. It deprives all sides of control and transparency while utterly failing to accommodate the shifting nature of any complex technical project. Out of necessity, engineers must be loyal to the agency, not the client.
Outsourcing agencies like to brand themselves as “gateways to the Indian job market”; if this is true, then they are heavily, all too heavily, guarded gateways, and ones that charge an excessively high toll at that. Could it be that we don’t need a “gateway” like this at all? Is it possible for foreign firms to just walk around these ugly and pointless obstacles? The answer, I believe, is a resounding yes.
BUILDING AN ALTERNATIVE
In the early days of my company, McKinley Rice, I went through a process very similar to the one outlined above. With only the meagre resources of a small startup at my disposal, I couldn’t afford to build the world-class team of experts I’d hoped to. At the same time, my dealings with freelancers and agencies alike all resulted in failure of some kind.
India is a country I know well and love deeply. My own personal experience can testify to the quality of talent available there. So I made it a mission of mine to help connect this vast pool of talent with foreign companies in a way that would be convenient, sustainable, and mutually beneficial, yet still cheap.
It was this mission which led me to establish SecondOffice.
SecondOffice was born from an epiphany. After mapping out the standard journey from job advert to outsourcing agency, I came full circle and realized that my first choice had always been to find a team of employees! Not faceless, inaccessible engineers whose loyalty was not to me but to an intermediary, but a team of real employees whom I could trust, learn from, and communicate with in real time. The only impediment preventing me from building such a team was the forbiddingly high price tag in my local market.
What I had been unknowingly searching for all along was a service like SecondOffice, which avoids the agency trap altogether and instead helps businesses establish satellite offices in India. By doing so, these businesses were able to secure a high level of loyalty and interaction with the engineers themselves while still benefiting from India’s exceptionally low labour costs.
I have always valued simplicity, and SecondOffice’s business model is reassuringly simple. In brief, we work with foreign clients who are interested in accessing the Indian job market. We personally vet candidates based on whatever specifications they require. Then we set up the chosen team in a physical Indian office, manage payroll, and deal with all of the other on-the-ground stuff. Clients can integrate this “second office” into their existing operations as much or as little as they like - and without any of the shady practices that so often come with opaque agencies. In return, we charge a flat management fee that takes care of office rent, equipment, taxes, and payroll.
The SecondOffice service outshines traditional outsourcing across just about every metric. The quality of the work on offer allows us to attract roughly the top 10% of Indian software talent, while the transparency of our operations and pricing model helps us to build trust with clients. In fact, we haven’t lost a single one yet.