As a software attorney, I think there are a few practical things to think about when using an offshore software developer/outsourcing software development, and negotiating the software development agreement. As you know, this has become commonplace, even for smaller Software, SAAS and IT services companies. Here are a few thoughts, from a software attorney.
Ownership Rights. While I am sure you saw this issue coming, make sure you document it very clearly, and address 'work for hire' copyright, pre-existing code, open source licensing, patent issues, etc. There is a lot to think about so dig in and get it right.
Termination Rights....