Dharmesh Shah, who among other things has a nice online community for entrepreneurs called OnStartups, wrote in the forums there the other day “I rarely take this strong of a stand on anything, but I think trying to completely outsource the development for an early stage startup is a recipe for failure. You really need to find a technical co-founder that can help you with this side of it. In my experience, I’ve *never* seen a business person be able to successfully launch a software startup by outsourcing all of the initial development.”
I agree with Dharmesh 100%. If you are a non-technical entrepreneur outsourcing your product development will not work. Successful outsourced development requires locked down compartmentalized product requirements. At the early stages of creating a product it is not possible to either compartmentalize or lock them development tasks. What you end up with is a non fully functional product that the market does not want, a bill to the development company for creating it, and the prospect of paying them more money to fix it.
A non-technical entrepreneur has to be able to recruit a technical co-founder that believes in the vision, has an ownership position, and is willing and able to do what it takes to make a product that people want. You get this person you can contract some of the work out, but without the technical lead on the team a concept is doomed.