In an ideal case, you find a talented and skillful technical founder and other founders. All of you sit in a room and start working on different aspects of the startup.
In reality finding fulltime talent to develop an MVP might be harder. Most talented developers have more work than they can handle. You might be able to find some freelancers or part time developers. You need to hire somebody to do product, UI, testing and project management roles. If you can take care of few of those roles, great.
So the question becomes how long an entrepreneur should wait to get the ideal team? It is upto each individual. I am a firm believer that a good solution today is worth more than a great solution later.
Good luck with your ventures. Start building.
Outsourcing is no different in hiring someone full time in that if you pick the wrong person/company, or you do not manage them correctly, they will perform poorly.
The choice to outsource has little to do with quality - they both can, and do produce the same average quality. The choice to outsource has more to do with what type of company you are.
If you are small company with product turns every 5+ years, you can not afford to have a bunch of engineers sitting around eating up the fixed cost line - you hire a firm like ours for the 6 months it takes to develop the product.
If you are pre-funded start up, you have no choice but to work with a company that will accept "in kind" payment - again a company, not full time employees.
If you are a funded company, you have no time to put a team together with CAD, lab, processes, etc - you hire a company, and they start the next day - likely they already started with "in kind" work.
If your a big company, you already have a big team, with a LAB, lots of CAD and plenty of mature procedures. You do not need a product development company.
To answer the original question, yes company do hire product development companies. We have been in business for 12 years, done more than 1,000 project for over 200 customers. There are plenty of other companies just like us.
You know what the hardest thing about running a technology business is? Getting the right people, with the right experience and the commitment to make it happen. Doesn't matter if you're looking to outsource or to build a full-time team. We work with several startups on some pretty innovative products and they wouldn't have dared to build their own team because you know what? Not all entrepreneurs know where to start or how to recruit the right people and quite frankly, getting a team to work together - self organising being the holy grail of Agile and Lean - is hard, takes time and costs A LOT of money. So why not choose a company who are there already, one with a successful history of working with startups and product development, one that's learnt many of the hard lessons along the way and can help the same mistakes been made over and over again?
It's not for everyone but if you get therightteam, you could save a lot of pain.
There is no way to provide an answer to this question. It would depend entirely upon what the "MVP" is.