It would be better to think about the above question by defining few scenarios:
1) Are you a startup on a shoestring budget?
Answer: You shouldn’t be concerned whether your developers are local or not. Your job is to identify the best team possible (probably couple of good freelancers who can handle front and backend work)
2) Have you acquired seed funding (say in the range of 50k-250k)
Answer: If you are in places where you have access to great talented programmers and designers who are willing to work for a small base and equity, then you should do that. Define your MVP properly and try to get to the real customers as fast as possible with minimum burn possible. Don’t chase remote programmers who will do a “ton” of features for you, but don’t understand the business.
It also depends on the type of business you are launching. If it’s a simple Ecommerce solution, which is relatively straight forward than say building a digital marketing software and marketing it, then you can go for remote teams and your money will go a long way! Quality of your team is everything though.
3) Are you trying to do something innovative and needs out of the box thinking to design your solution?
Answer: I don’t think I have to answer here, you probably shouldn’t outsource, unless you are an ultra rich guy who can hire people to build software such as Siri 🙂
4) Are you in maintenance mode?
Answer: You should be ok with a solid remote development team. You should still prioritize your backlog(s) and handle customer facing development onsite (if possible) and have the remote team do the rest of the stuff.