In-House Software Development vs. Outsourcing: A Comprehensive Comparison