I should start with the fact that I’ve always hated the word “outsourcing” – I can’t understand how being an outsourcing software development company might be a business goal. There are a lot of companies (particularly in Ukraine) who proudly position themselves as “outsourcing companies” and consider that part of their branding strategy. Moreover there are even communities and successful conferences utilising this word. Fair enough, this may be a good start for a recently established company and a good way to keep your developers busy, but it’s no good as a permanent and ultimate goal (in my humble opinion at least).
To be completely clear I am talking about the most common and most used cases of “outsourcing” in software world – providing development or other digital services under white-label agreement. Essentially doing someone’s work instead of them. Let’s consider a few main reasons why there may be a need for outsourcing some of your work under a white-label agreement:
- You ARE ABLE to do the job in-house but you don’t have the resources right now and you already have a commitment to the project. So you need to solve your problem by giving the work to a sub-contractor (without disclosing that to your client).
- Your team doesn’t have the skills required for the project, but you want to have a better value proposition for your clients and therefore PRETEND to have the skills – that helps to win the client and get the job.
I can accept the solution in the first case – it might be that you are hiring a company similar to yours and it wouldn’t be wise to introduce your competitor to your client. Moreover that looks more like resolving a temporary issue than a way you build your business.
However, the second case often occurs on a permanent basis and becomes a long-term relationship. I am totally confident that it’s a bad practice for both parties for the following reason:
The communication in outsourcing is always broken no matter how good it is
This is just because there is someone in the middle of the communication process, passing the information back and forth; moreover, that person is usually not skilled enough in the particular area. This leads to a situation where all parties spend too much time on a project and therefore everyone loses money.
The option of re-selling someone’s services (and of course adding a markup for yourself – which can be more than what you actually pay your subcontractor) always looks like an easy way to earn good money. But you shouldn’t forget that it is you who shoulders 100% of the responsibility for the project delivery in front of the client and it is also you who hires the team and becomes their customer.
So let’s see what happens if for some reason you were not able to specify the task to your team correctly and they did what you asked, but not what your client wanted originally:
- You don’t get paid by the client – you failed to deliver the project
- You have to pay the team – they did what you asked for
This doesn’t sound like a good deal, does it?
It’s very simple – try to build partnerships and trust your partners by involving them directly. Good partners know what they can do and they are interested in successful project completion as much as you do. If you feel you have to earn something because you brought a client to them – you can always agree on a fair and transparent referral fee. That will move both you and your partner forward – you will be able to focus on your business without spending time and resources managing something you are not an expert in and risking the success of the whole project. The more trust you develop in your partnership, the better results you can achieve together.
I have to say that we (JustCoded) as a web development company still have relationships where we work under a white-label agreement (well, nobody is perfect) – however that is definitely not something we are proud of and we mostly consider that as a temporary solution for keeping our developers busy (I know ‘there is nothing more permanent than temporary’, but still). However, I hope we are moving in right direction.