In my many conversations with leaders of development teams I have experienced all kinds of development constellations. One that many felt most satisfied with was the outsourcing of an entire dedicated development team. This is cost-effective, flexible and fits more easily into the overall company structure.
The main advantage is that these people are fully committed to your cause and feel part of the whole organization.
If this is something you are considering, this article might help you: https://medium.com/devtechtoday/dedicated-software-development-team-a-winning-approach-for-outsourcing-c0874141291c
There is one issue that is often problematic, and it is related to the systematic distrust of working with outsourcing providers. Maybe you have heard of the principal-agent-theory and it covers exactly this. You have to get a grip on the information asymmetry.
What is your opinion on this? How do you tackle this at your organization?