Saturday, February 3, 2018

Outsourcing for Startup: Cons and Pros

We’ve heard of outsourcing, and there are many platforms for outsourcing, for example, www.elance.com, www.upwork.com, www.peopleperhour.com. On each of those platforms, you can easily post your job/task, and find the freelancers to help you get the job done. A very good thing of outsourcing your job on those platforms is that you can pick up the best expertises world widely to deliver the job, and thus, it’s naturally good for startup companies, especially in their early stage. Fig 1 shows a typical workflow of outsourcing your job.



Fig 1. Outsourcing Flow on Upwork
However, everything is a double-edged sword, and today, we will talk about the cons and pros of outsourcing for startup.


1. Why outsourcing is good for startup
Well, it looks too obvious. As we have mentioned before, as a startup, especially in its early stage, it usually has a tiny team, really short of people. Outsourcing the project and find good freelancers to work for you, will definitely bring significant benefits:


First of all, it saves a lot of your time. If things go well, I mean you can find the good freelancer who can help you deliver the job on time, it saves time for sure. You do not need to spend a lot time find the good one to join your team to finish the job, and we all know recruiting is actually not that easy.


Second, it’s also cost efficient. We all know the cost of hiring and keeping an onsite developer, not just his/her salary, but also the insurance, people management and communication cost, etc. Comparing with how much you pay for freelancer, usually you pay more for onsite developer.


The third benefit is: more flexibility. When you post your job on those platforms, you are looking for good freelancer all over the world: US, Europe, India, China, etc. You have more flexibility and have high chance to find the good ones. And this, actually, also help reduce the cost, since you can pick those good freelancers from developing countries, usually their hourly rate is relatively lower. Flexibility also comes from another side, because in most of the cases, you work with freelancer based on the project, if you find out the one working with you is not good, for your next project, you can easily switch to another freelancer. While, for onsite developers, if they are not good, pretty much you have no one else to switch, it’s also troublesome to fire the people and start to look for new developers.

2. So, what’s the downside
Nothing is perfect, as I’m working in Whova as a founding engineer, I have been working with some freelancers. According to my personal experience, there are several cons you may need to pay attention to.


As a client, when working with the freelancer, you are actually playing the role of project manager, because:


Firstly, recruiting cost. It’s not easy to find the right person work for you. If you are willing to pay with high hourly rate, definitely it will be helpful to find good freelancers, but don’t forget the cost. Meanwhile, it’s not easy to recruit the good freelancers at the very beginning. We tried two ways: we invited those “super good” ones to apply for our job, some of them were not free, some of them asked for high payment which is beyond our budget. We also tried to interview and find good ones, we even assigned a paid trial project to each candidate, and eventually we found several good freelancers to work with.


Secondly, the management efforts. You need to constantly check the progress: whether the freelancer can catch up with the timeline of each milestone. Although the job or each milestone has a deadline, but according to my experience, the deadline is not rigorously followed usually. There could be many reasons for that, for example, the deadline itself is not set properly, or occasionally, the freelancer may be off for several days. At this point, you may wanna remind me that we have contract with the freelancer, yes, you are right, contact can be a weapon for us to push the freelancer. However and unfortunately, we cannot fully rely on that. The freelancer took 3 weeks to finish your job, he delayed for several days when finishing the last milestone and thus, missed the deadline. Will you cancel the job and fire the freelancer? It’s a dilemma for each side, a better solution is compromise. You may not want to work this freelancer anymore, but that’s another story.


Thirdly, the communication cost. You need to check the quality of the work. Since you cannot assume your job requirement is written perfectly and the freelancer will 100% understand exactly what you want, you need to closely check the quality of his/her work, correct the freelancer and guide him/her to the right direction whenever you find that something do not meet your requirement.
According to my experience, you may need to spend at least 20% of your time communicating with the freelancer, and actually, I even spent more on this when I started to work with the freelancer, mainly because I was lack of experience and did not truly realize the importance of communication.


The last thing, integration. Much efforts are also required when you do integration after the freelancer delivered the job. While this is actually optional, depending on what kind of job you assigned to the freelancer. We asked the freelancer to implement one functionality in the app and we can integrate it into our product afterwards.

3. Conclusion?
I have shown the pros and cons, so what’s conclusion, do we do outsourcing or not. Well, I think it depends: depends on the job, depends on your company’s status and vision. Let me make this more clear:

  • If you are in the very early stage, you only have a tiny team, and do not even have your product prototype yet, then I think outsourcing your job will be a good choice. It helps you quickly come out with the prototype, even it may not be exactly what you want.
  • However, if you already have your product, and you just need freelancers’ help to make it better. Then I think you should think more before outsourcing your job. The reason is you already have a relative mature product, you already entered the market, and more or less, you’re in a race with your competitors. Then, think about the recruiting cost, management efforts, communication cost and integration issues, you need to make your own decision whether it’s worthwhile to go for outsourcing.



No comments:

Post a Comment