If you are a product company, your software solution makes up your core expertise. Keep in-house the activities that make your product unique. You can outsource code-writing for the product to a third-party contractor under any of the existing engagement models. If you are a service provider, it is obvious that you can’t outsource the service itself because it is your core expertise. However, you can bring on subcontractors to scale the resources engaged in project implementation.