How to protect intellectual property when working with an outsourcing software development team