Offshore outsourcing of software development is commonplace among most companies in the US and UK. It is sometime seen by the 'higher ups' as the golden ticket that will solve all the companies problems. It is cheap to hire well educated developers from developing countries and they can do a very good job. This article will attempt to highlight that although inexpensive, it can be difficult to manage a successful outsourcing project.
Outsourcing is when you contract work to be done for you outside of your company. The definition of offshore outsourcing is when you contract a software project to be developed outside of your company. You will generally write up a specification, and then have other companies produce proposals. After carefully considering the merits of each proposal, a company is chosen and work is begun.
When outsourcing software, you need to be aware of the ethical concerns of offshoring. Some people say that outsourcing takes away jobs from Americans. However, currently the unemployment rate of software engineers in the USA is the lowest it has ever been.Concerns about the country you are outsourcing to should also be taken into consideration. You should make sure that you do not outsource to a 'sweat shop' or such. The offshore engineers should enjoy a decent lifestyle – happy engineers make happy (less buggy) products.
Some projects are better candidates to be outsourced than others. Software projects which are likely to be outsourced successfully are those projects which are considered everyday, easy software projects by your onsite team. It is almost a chore to develop these projects as there is no challenge. If there is no challenge, there is less chance of surprise of things going wrong. This will free up your onsite engineers to do more interesting and challenging work, which contribute to the success of your company. If you outsource your companies critical tasks, you run the risk of alienating your onsite engineers, and if the outsourced project fails you could find you have outsourced your business knowledge without retaining any knowledge in house! Remember, offshore outsourcing can be difficult without constant care and attention.