Randy Rayess tells us when and how you should outsource development of your software, how to reduce your risk, and the way your team should think about feature prioritization.