In our business there are always going to be times when you get the chance to work on projects that will stretch your resources and in those situations one of the options to consider is outsourcing. There are a number of benefits to outsourcing work but there are also a number of potential issues…and we suffered a few of them recently despite the due diligence we put in place.
The first option for outsourcing is to use a freelance. We’ve done that a few times and the major advantage is that they are often specialists at what they do. They’ve done their time working for other people and now they are off doing what they do on their own. The other advantage is that their livelihood depends on a good reputation and so they are often hard working and willing to do a great job. The disadvantage is that you don’t get the protection of a larger company, with the additional resources and responsibilities that brings. They also tend to be less process driven and more ‘maverick’, which is fine if that is what you want. We have a couple of great freelance people who do work for us and the standard is excellent, although the approach is not always as robust as I’d like. It is agile at the coal face, but it works. We always have to have in the back of our mind that we need to push them though as they are often working for multiple people at the same time.
Another option is to outsource to another company. The advantage is that they can potentially assume full responsibility for the delivery so you don’t need to worry. But the realism of the situation is that outsourcing to another agency in the same country you are will not leave you with much profit. So do you offshore? Well the benefit here is cost and time. Offshoring is often a good way to get good resource at a low price, and on a different timezone. If you set up the operation correctly then you could effectively have a 24 hour development cycle, or run it so that develop happens whilst you are asleep so that you can test and feedback during your working day.
The major disadvantage of offshoring is the cultural difference and the physical distance. Recently we worked with an Indian agency where we outsourced a app development brief. The specification was full, we talked them through it, got agreement on everything and all seemed fine. However as the project went on it became harder to get updates from them and they started to fabricate milestones. When we reached UAT the build we got was not fit for purpose and had many areas that were not even close to the specification. The problems that occurred here were not in the specification but in the understanding of what we asked for. This was exacerbated by the lack of contact with the development team and a failure at their end to provide the account management and regular tangible updates they had promised. It is a risk that is always there.
So what is the answer? Well you need to go with the option that is right for you. If it is reputational and profit isn’t the driving force then having someone you can talk to in real time, or even in your office is always preferable. You have more control. If profit or time are your driving force then offshoring is a good option as it gives you the opportunity to increase your teams working day and at a much lower cost. But you need to make sure that you maintain an ability to control proceedings and get updates…even if they are updates that show skeleton builds without graphics. It is your project in the end, so you still need to manage it closely and make sure you are getting what you pay for.