Some companies have outsourced software development to outside entities, rather than undertake software development in-house. Sometimes, this work is sent overseas, also known as "off-shoring."Sometimes the work is completed domestically, known as "on-shoring." A variant of this is known as "near-shoring" in which the work is sent abroad, but within the same geographic area.
Please respond to all of the following prompts:
From your research, summarizing companies' use of outsourced software development, including off-shoring, on-shoring, and near-shoring:
- Discuss where it might make more sense for each: off-shoring, on-shoring, and near-shoring
- Discuss the benefits and drawbacks to this approach, from both the company and the developer perspective
- Under what circumstances might it make better sense to develop applications in-house rather than outsourcing?
- Are there circumstances where in-house application development would be inappropriate or impractical and where outsourced development is preferable?