If you are starting up a venture and you are not very competent in terms of writing code, should you outsource the development work or set up a tech team to do it. I am often asked by business entrepreneurs if they should outsource the development of their initial prototype. Outsourcing is considered cool as it can be a relatively inexpensive and fast way to create a product. Though cost savings are real but there is level of risk associated with it. There could be scenarios where entrepreneurs can find themselves with a product that needs to be rebuilt, often from scratch. The cost and time savings can go for a toss completely and all your plans of initial launch will be blacked out . But having said that I know many entrepreneurs that successfully outsourced development.
So question arises how do you decide whether to outsource the early development of your technology?
There is no simple and straight answer for it, there are a few considerations which could help you make that decision. If your technology is an original technology or depends on complicated logic or algorithms you may want to avoid outsourcing at least that portion of the project. The vision for the product is always partially lost in translation when a business team tries to communicate with a tech team. This dynamic, however, is further amplified when describing the product via video chat and even more challenging when there is a middle man or a development team with a limited mastery of your native tongue. While these challenges can be mitigated by robust product specifications and wireframes, an already challenging process is even more challenging.
This isn’t to say, however, that you can’t get a great product from an outsourced shop. You can. The key is to outsource elements or even entire projects that are more limited in their logic or algorithmic complexity, to over-communicate your specifications, and to practice careful, diligent project management.
Your sensitivity to this risk should be heightened if you don’t have a technical lead inside your company. If you consider your outsourced provider to be your CTO, you’ll have a difficult time vetting the progress of their work and may find that they’re off course too late in the development cycle. Furthermore, evaluating the product will likely be challenging without an engineer on your side, making it even riskier to completely handoff the development of complex logic.
To summarize, if you are planning to build a very simple technology, outsourcing development work can be a great strategy. If your venture requires a great deal of technical work you may be better off building it in-house.
-This is a guest post by Nitin Yadav, Nitin held various senior engineering positions in companies like Microsoft, PiCorp and lastly he was CTO of Seventymm