I personally think the outsourcing is quite ineffective for a startup. Early on, the companies (usually few founders/hackers) go through a lot of design discussions, architecture, feature prioritization, whiteboarding - do you think that kind of synergy is possible with outsourced model? I don't!