Deciding between building a product in-house or outsourcing the software development process to a third-party agency poses a dilemma.