planning

Outsourcing: Is it a good idea?

It’s a question that most business owners ask themselves at some point: Should I outsource my development overseas?  In a previous article I outlined some tips on how to choose a developer and I mentioned that there are specific circumstances that outsourcing could be the best solution.  I also mentioned that there are problems that you need to be aware of before you go ahead with it.

Outsourcing

First of all, what can you expect if you choose to outsource?  Just remember that you will be working with a developer or team from another country.  This means that they will most likely speak a different language, and even if they speak English, there is still a potential for misunderstanding.  This also means that they will most likely live in a different timezone than you.  Living in a different timezone isn’t a problem by itself, but it can become a problem quickly if not managed. More on that later.  You might be noticing a common root problem here: communication. 

One thing I have noticed about outsourcing development overseas is that it’s difficult to find someone that delivers quality code.  For the most part, the code that is delivered is messy.  I have even seen a developer take a screen shot of the design they were sent and use the image as part of the site that should have been dynamic text.  What they should have done is loaded the desired font and positioned the text properly.  When you viewed the page in a browser, it all looked fine. But when I went to edit the text, I found an image instead.  This is just one example of how some developers overseas try to cut corners.

Local Development

Now what can you expect if you choose to keep your development local? You won’t have to worry about the issues mentioned in regards to timezone and language.  However, there are local developers that don’t prioritize effective communication.  There are also local developers that don’t worry about writing quality code.  Even though some of the same problems are still present with local development, the solution doesn’t take as much work on your part.

Communication is key to any successful project.  Since you are both using your native language (or at least are very fluent), misunderstandings are not as likely to happen (although they can still happen).  It’s easy to get a hold of a local developer since you are both working at about the same time.  The fact that you are both working at the same time is probably the biggest reason to use a local developer.  It may seem like a small and simple thing, but being able to discuss issues whenever they arise is extremely valuable.  This allows the developer to build things the way you want them to instead of them guessing.  It also allows you to spot potential issues with the developer early on. 

If you choose a local developer

Choosing a local developer doesn’t guarantee a flawlessly executed project.  It will just make it easier for you.  Even if you end up working with a developer that is not what you hoped for, it will be easier for you to spot early on that you need to find someone else.  Here are a few tips to ensure keep things running smoothly:

  • have a regularly scheduled progress phone call at least once a week.  This will ensure that things are on track and will also give the developer more incentive to get things done as quick as possible.
  • be aware of problems that arise.  If the developer is constantly having problems with seemingly simple things, perhaps that means they are not quite ready to tackle your project.

 

If you choose to outsource

The number one reason outsourcing overseas is popular is because it costs less.  So how can you make it work while mitigating the risks that come with it?  I won’t say it’s not possible, because it is.  I will say that it takes hard work on your part to make it work.  Here are a few tips to help mitigate the risks that come with outsourcing:

  • ensure that there is at least one person in the remote team the speaks English very well.  They will help others understand exactly what is expected if they don’t quite understand.
  • check in frequently to see the progress and correct any problems before they get bigger. Ideally this is done with a phone call, but if that’s not possible then at least an email should be sent.
  • prepare yourself for problems.  They will come up no matter how hard you try to prevent them.  The most common problem is usually how difficult it is to discuss things with the remote developer. 

Good ideas for both

Whether you outsource overseas or not, here are some tips to help you make the best decisions.

  • ask the developer for contact info from a previous client.  This way you can talk to someone that has used them and find out how satisfied they were.
  • setup a standard way for communicating effectively.  There are lots of tools that help with this.  Slack, Skype, or hangouts can help you keep in contact.  Trello and Basecamp are good options for managing the project and communicating about specific topics throughout the project.

Whether you choose to outsource or not, keep in mind that ultimately you are the one that is in charge of the project.  If you notice that things are not going as smoothly as you expected, you have the power to change things.  Try to spot any red flags as early as possible.  Once you are confident with the work that the developer is doing, you can relax a bit and focus on what matters most: your business.  If you have questions or want to consult on a project, feel free to reach out to us!