Outsourcing vs In-house : What you should know
Outsourcing, whilst may be a great tool, to manage your work, leads to several issue which must be considered before, its given to a third party. Let’s say you are developing a product and you don’t have the technical expertise to develop it and thus have decided to outsource the work to an external agent || vendor. Here are the things you should always keep in mind as you progress:
1. Time to Market — The vendor invariably would give you, a rosy picture on launch of the product and if this (development) is your most critical component then you better add several months of the buffer in your mind. In my own case, a product which was supposed to be launched in two months took more than 10 months.
2. Quality of Output : The Quality of output will always, be less than what you expected. Despite your best efforts, the quality of your product is based on what the vendor can deliver. In most of the cases, he is prototyping as much, as you are and unless he is a domain expert you can be sure that his quality output, will be inferior to your expectations.
3. Location, Location, Location : This is perhaps the most important of the factors to success. Often times the location even if its different city ( in the same time zone) can add several layers of complexity. You will be reduced to engaging through Skype calls and mails which adds to the lack clarity or opacity of perception / output and more importantly the urgency of the matter. Ideally, the outsourced team should be seated in your location aka OFFICE and ensure that work is not impacted due to any other delays.
4. Priorities : Most of the time the vendor tends to start of a project based on a certain staff strength and along the ways acquires several other project. He/ she would most likely focus on larger and meatier project by way of natural tendencies. He will keep your project, on a low priority and this will impact the project.
5. Cost vs time : Your perceived gain on cost will be wiped off due to loss of time. Assume you start a project with cost of 3,00,000 for the program this is the same as having one resource for 30 K for 10 months or two resource for 50 k for 6 months. You can fire the resources after the work is over but you will be able to control every aspect of their activity.
6. Transfer of Codes: For a software project the most important matter is the software code. Its like the building block of a house. The vendor will begin by holding most of it with himself, as time progresses, the vendor will use this leverage to negotiate for better deals, perhaps may even reinitiate cost with you. You may loose critical capability in pushing the vendor because even if you do he will or might not give you the code. The legality of managing such matters is a very complicated so its ideal that the terms balanced in both the parties favour.
7. Fund release : As an addendum to the previous point the vendor will delay any progress if you don’t release fund on time. Thus, always review the payment terms at the very beginning of the programme. The terms should always ensure that you get a buffer time to payment and full payment is always made only after the project is delivered satisfactorily and run for a minimum of 3 months without bugs. Alternatively, always have an exit clause for example if you are not happy with the progress you can exit the project midway in a fair and equitable manner.
So what should you do ? Ideally, always try to buy an off the shelf product which is closer to your needs and customise it. You may be wanting to have a online fundraising raising solution but you find a produc which may also be able to provide the same solution for e.g an online e-commerce product like Magento / Jumla. You can easily customise these product to suit your needs as they would have the same functionality, as your product, with just a few tweaks.
In all likely hood once the revenue starts pouring in you can always create a product which is best suited for your needs in-house.