Why software outsourcing doesn’t work… Oh wait, it does!
I wonder what’s going on will all these posts saying that software outsourcing is broken. Have you ever stumbled across one?
If the authors of these posts are right, software development outsourcing is either dead or dying, and there’s no real reason for companies to outsource.
So, should we all get worried? Probably not — especially considering that every once in a while, some blogger feels the urge to foretell the doom of some industry. Software outsourcing is just one of many examples.
Digital advertising, for instance, is long dead because no one clicks on ads. Strangely, this doesn’t prevent Google and Facebook from making billions of dollars from online advertising.
Other things that apparently don’t work include freelancing, social media, web design, college education — and the list goes on. So what’s the problem with all of these? Are we living in some sort of a twisted universe where nothing works? Okay, I’m beginning to digress…
Why do people think that software outsourcing is broken? What’s the reason?
There’s a whole bunch of “reasons”, like cultural gap, timezone mismatch, or the risk of under-delivering on part of cheap remote developers. All of these have been debunked far too many times…
But is there a real reason for both clients and dev shops to be skeptical about the future of software development outsourcing? It seems like there is one.
Here’s a good article about the problems of software outsourcing. I suggest that you read it, but if you need a short summary, it’s about the growing expenses of software development companies.
Basically, the author Yegor Bugayenko points out that developers are growing more expensive everywhere, which poses a problem for low-cost destinations. Because of the increasing costs, dirt-cheap destinations will either die due to low quality, or will have to progress and become fairly-priced. But if they raise prices, what will their competitive edge be?
What does this all bring us to? Is software outsourcing really doomed?
The short answer is no. Sure, the software outsourcing market has changed. But it has changed for product companies too.
I think there’s a major misconception about what our clients expect from a software development company in 2017. Ten years ago, it was mostly the low price. Today, product companies outsource not so much to save money, but rather to find top talent.
The biggest problem companies face today is inability to find and retain top talent. A great software developer is much, much more valuable than an average or even good developer. If your competitor has better developers, you are going to lose, no matter how cheap your R&D team is.
One of the things that made me believe this is the DC CTO Club, the local tech event we’ve launched in the DC area. During the meetings of the Club, we had an opportunity to talk to chief technologists from product companies like Bloomberg, Appian, and LivingSocial. According to them, finding great developers is a far bigger challenge than finding cheap ones.
So what so difficult about finding great developers?
Not only great developers are expensive, the job market for developers is also in a low-supply-vs-high-demand situation. There’s a global shortage for developers, which means most of the great ones are happily employed. Moreover, 90% of them are in the middle of the project they are unwilling to abandon.
So if you’ve ever been involved in hiring developers, I’m sure you had to consider these three options:
- Pay above the local market to entice the candidate to switch projects,
- Spend months trying to recruit the 10% of developers who are willing to move to a new company,
- Start shopping for talent globally where you can be someone’s top choice.
Clearly, the first two options are not viable for most companies, which is why many companies opt for the third one. To be more specific, they mix in-house high-paid rockstars with teams of great remote developers in strategic world destinations. In 2017, this mostly means nearshoring.
Even in today’s market, hiring a senior developer from Eastern Europe or South America costs about 50–60% of a local hire in the US. The only problem is that great remote developers are just as difficult to find and retain as the local ones.
And that’s exactly where offshore software development companies come into play. The only thing is that the rules of the game have changed. Let’s take a look at these new rules.
Software outsourcing != cheap developers
True, there still is a market niche for “good enough, reasonably-priced” software development services. The problem is this niche is long occupied by Upwork and similar platforms. So instead of targeting Upwork’s clientele, modern software outsourcing companies need to focus on bigger customers who value quality over cost and think long term.
Obviously, this implies the need for rigorous selection and vetting when it comes to building your teams of developers. And it’s not about tech skills only. Fluent English and the right mindset are just as crucial for a hirable candidate.
Outstaffing and dedicated teams
With all decision-making and process coordination happening in their local offices, product companies gain more control over the production process. This accounts for the shift of focus from tradition full-cycle software development outsourcing to outstaffing and the dedicated teams model. Under these conditions, dev shops face two primary tasks:
- Establishing and maintaining clear communication between clients and programmers.
- Creating all necessary conditions for the complete engagement of programmers into the client’s project.
The development of large projects rarely ends with product release
Large ambitious projects are never finished, and that’s the great thing for software outsourcing firms. After the release, the development team will move into the phase of updates, maintenance, and building versions for multivariate testing. Because of this, a large portion of tech product companies continue working with remote developers after the release of a product.
The bench is no longer an option
The bench is a far bigger problem these days compared to ten, even five years ago. It still works for end-to-end outsourcing where teams of developers work on series of shorter-term projects for multiple customers using the same tech stack. And it’s still a necessary evil for agencies of any kind.
The problem is there is a decreasing margin between how much a software outsourcing agency pays its developers and how much it charges its clients. Today, this margin no longer makes for an ability to keep developers on bench for a long time.
For the dedicated team models, the bench is a terrible idea. Dedicated teams imply that developers stick around for years because it’s their dream job. You can’t take somebody off the bench, assign them to the next project and say “hey, here’s your next dream project”.
Instead of the bench, the dedicated team model calls for establishing and maintaining relationships with top developers. These relationships imply knowing when and what the developers are looking for, and then matching them up with customer teams.
Timely feedback from customers is as crucial as ever
And this doesn’t just boil down to regularly checking whether everyone’s happy. Two months before the scheduled project release, you need to know if your client is planning to use your service for updates and maintenance.
Naturally, this puts greater pressure on delivery managers. This also implies the need to have a more aggressive client acquisition strategy — these days, you can’t just sit around and wait for someone to find you on Clutch. Again, we’re talking about relationships management, and it certainly is more work compared to what the old-school software development outsourcing firms are used to.
Bottom line: software outsourcing is more alive than ever
Basically, the rumors of the death of software outsourcing have been greatly exaggerated, and there are stats to prove it. Software and IT is still the most-outsourced niche according to Deloitte, with the dedicated teams model turning into a major trend.
Sure, the software development outsourcing is no longer a Gold Rush market. Dev shops need to invest more work into client acquisition, and they need to have a strategy for those cases when they lose clients.
Different companies will have different ways of dealing with this. For some, having developers on the bench may be an investment into building their own projects. Others will use this time to expand their expertise into new technologies.
In other words, we all need to go out of our way adapt. And in this respect, software development outsourcing has really become a more challenging business niche. There are more pitfalls, and the risks are higher. Still, even today software outsourcing has a lot to offer.