We don’t outsource!
How often do we hear that?
Companies and decision makers chose not to outsource or are cautious due to prior negative experience or general impression about overall outsourcing idea.
For those who wish to outsource but are circumspect, here are some rules for a successful outsourcing experience.Get that NDA and master agreement done!
Outsourcing more often than not means working relationship between companies in two different countries. If you are concerned (nothing wrong if you are) about the data, idea, code and other business information related to the project then prepare a comprehensive NDA. A genuine company or a consultant will be more than happy to sign it.

Establish a single point of contact
It is very important a single point of contact at both ends is established. Managing remote teams individually is difficult due to language barrier, time zone difference and digital means of communication.
Build a rapport with the single point of contact and prevent the frustration often arising due to long distance communications (or rather miscommunications).

Get comfortable
A new project with a new team certainly needs getting comfortable with. Get used to the various parameters like communication method, accents, time zone and team culture

Define a process
Each project has its unique requirements and a well-defined process must incorporate these. Parameters to define can be the coding standards, repositories, work flow, server setup, responsibilities, QA environment, documentation, ticket system, meeting times, sprints etc. The more carefully the process is defined, the better for project execution.

On board a QA
Having a QA on board is a must if your project includes multiple developers and spans few development months of more. Developers can test but you will never get the results that a dedicated professional QA can.

Individuals or a company
Finding the right development team is decisive for the project. Factor in parameters like cost, working hours a day, option to add more resources, backup if a developer is sick / not available, multi skills under one roof, infrastructure support, past experience, management experience, references etc.

Fixed scope or dedicated developers
If you are making a concept and wish to be agile prefer dedicated developers approach. For finite projects with well-defined scope from the outset, fixed fee approach shall work well.

Own the source code
You must have control of source code, servers, mobile developer accounts, SSH keys or any third party licences. You must subscribe and pass on the access to development team as necessary.

Take a trial

Visit your team

There is no one size fits all approach to outsourcing, but over the 12 years of handling an outsourced development team and working with client across the globe, I believe following these rules would ensure a good outsourcing experience.
Feel free to contact me any time for queries or comments.