How to Select a Software Development Partner: What to Check Before You Sign