Outsourcing is the practice of paying an outside company to develop a program instead of developing it in-house.
Outsourcing companies can have more experience in an application area, more developers available to work at a given time and a larger library of reusable code to draw from.
The combination can result in a dramatic reduction in the time needed to deploy a new product. In some instances, Outsourcing can save development cost too.
Potential reduction from nominal schedule: Excellent
Improvement in progress visibility: None
Effect on schedule risk: Increased Risk
Chance of first-time success: Good
Chance of long-term success: Very Good
- Transfer of expertise outside the company
- Loss of control over future development
- Compromise of confidential information
- Loss of progress visibility and control
Major Interaction and Trade-Offs
- Trades loss of control and reduced in-house development capacity for improved development speed or reduced cost or both