Outsourcing of America
In an increasingly globalize society, it is nothing new to hear about product development and assembly going abroad. Factory jobs have been moved to other nations for decades, and more recently, customer call centers are being relocated to foreign nations. With the current downturn in the economy, people are looking to at this situation in an increasingly negative way. Not all work that moved abroad ended in satisfaction, yet the trend appears to be spreading to new jobs and industries. With the growing population of college educated in foreign nations, software development jobs are shipping overseas. With many incentives associated with outsourcing to various countries versus keeping jobs in the country, companies are laying-off employees and closing down offices. We will discuss the effects that this trend has on people here in the United States, its effect on people in the foreign nations, and explore the ethics behind the shifting jobs to other nations.
A Look at Outsourcing
Outsourcing is a growing trend, but the term can encompass many development strategies. Software outsourcing is: 1.) the contracting (or subcontracting) with an external organization for the development of complete or partial software products, 2.) the purchase of packaged or customized package software products, or 3.) activities to aid in the software development life cycle. The efforts that are not outsourced are called in-house efforts. In-house efforts ate those efforts that are completely developed within the customer organization. Many organizations have information technology (IT), prototyping, applications, or otherwise-names departments responsible for in-house applications development. Introducing a little more outsourcing to the in-house development model and there is the Product Component outsourcing. In product component outsourcing, a developer is contracted to develop a part of the overall system, such as a component of the system. The end result of the component outsourcing should yield reusable components. The next type of outsourcing required that the customer organization simply contracts for an external group to perform all or part of the functions of one or more of their process steps. Process component outsourcing means that requirement development, design phase, coding phase, test phase, or the maintenance phase is outsourced to another location. Most commonly the testing phase of the software development process is shipping out of house. Finally there is Software Acquisition, where all software development is sent to another location company. Outsourced work can be sent to another company and/or another country. In this paper, we will concentrate on work that is outsourced to another country. This may mean the company creates and staffs an office abroad, or hire an international outsourcing firm. Which ever way companies decide to outsource the work the motivation behind the strategy is the same.