What are outsourcing, and its relation to software development? what are the potential risk areas and an analysis of these risks? How to ensure that it can be successfully carried out? Hope someone can explain to me, thanks.