From my experiences outsourcing saves money but costs velocity. There is much time spent creating detailed specs, clarifying the specs, reviewing delivered code then immediately demanding key improvements made to that code, replacing subpar developers, pinging developers that have gone AWOL, and all of this happening with the usual timezone delays. Sometimes its faster to write the code yourself than it is to create painfully clear storyboards, wireframes, or demand yet another rewrite.<p>To avoid these hassles you have to spend a little more money to include a local manager to drive the outsourced team and be responsible for their delivery.<p>Honestly I get the sense that people who are happy with outsourced code are either unusually lucky to have found a highly skilled and responsive outsource, or more often they just not technical enough to judge the technical quality or the timeliness of what they are paying for. They are happy with the shiny car the outsourced team made and they can't realize the engine compartment is an absolute mess.
Just to offer a counter-anecdote, I've personally worked on two mobile projects that were outsourced overseas and came back completely botched. They had to be scrapped and started from scratch.<p>The main issue was communication and being able to have high-bandwidth face-to-face meetings to clarify what was needed. Extensive use of iChat and Skype didn't seem to help.<p>Some apps have detailed specs and a lot of upfront work has been done in reducing the ambiguities. Those are probably better candidates for outsourcing. But if the design is fluid and things need to be worked out as-you-go, that seems to be where outsourced projects go pear-shaped.<p>I personally think there's enough work to go around all over the world, but for certain types of apps you need to have someone you can meet and have a dialog with so you can iterate the design efficiently.<p>Obviously, each app is different and situations vary so YMMV.
Lower cost is just one part of the equation.<p>Perhaps the biggest benefit is not having your talent constantly exposed to being poached in the Silicon Valley.<p>That is exactly what Mark Zuckerberg was talking about when he said he'd rather start a company in Boston.<p>Hide your hackers!
Interesting mention of flat tax though...(9-9-9 anyone?) Though not the only reason for outsourcing talent. What about outsourcing from SV to the mid-west?
Big fan of using Central and South American developers. You don't have the time zone issues, their English is usually fantastic, and the cultural differences are minimally (when compared to places such as India). Used them all the time when I had my own firm and didn't have time or resources for in-house development. Also a big fan of the Kiwi's if you have something you can hand off with a fully defined spec.
It seems that lowering the cost of software development as a key driver of startup success is being emphasized.<p>A few things:<p>One could argue that if the business case for the startup were strong enough, the cost of development would be almost (within a very wide band) irrelevant or at least you could more easily justify the expense. An example would be having already-signed-up beta users and having a mailing list of interested prospects in hand.<p>Secondly, does anyone not care about new versions, maintenance and ongoing support? If you are truly operating a business, then having the ability to support the product is key. An outsourcer can leave the business or the team can disband, so you have no control over the institutional knowledge. (The "outsourcing core competencies" issue.)<p>Last, the title "outsourcing startups" seems a bit misleading, almost as though an entire startup can be outsourced like a commodity. We're still talking about outsourcing the coding.<p>But maybe the commoditizing of startups is the next natural step in evolution, if it is not happening already.
The author claims that you can hire devs with either ten or 3-5 years of experience "in a particular area." I've never been to Bulgaria, but I know it's hard to find folks with ten years of iOS/Android development experience in California, so this is pretty impressive. Must be a magical country.
Using the word outsourcing I believe biases this conversation in a negative way. Another way to title this article positively would be, "You can find high quality programming talent outside the Valley & even the US, which can save your startup cash". Because if you treated them like any other startup employee (part of the team), just working from a distance, and not as an outsourced developer, I think what you are suggesting has a big potential.<p>To use a headhunter analogy. There is too much hunting in the valley for the best, so go outside, even outside the US to find great talent affordably.
I came from a very similar environment to the US 10 years ago becuase of non existing start up scene, inability to brainstorm/exchange tech/business ideas and do tech socializing in my country of origin (people tend to deal with different kind of issues there). Everybody around me wanted to become a really good code monkey focusing on a specific platform ending up doing some contracting work for big West European businesses as an ultimate goal.
There's a lot of stories of successful outsourcing dev work being done by US startups. Eastern europe is actually a very good pick. Some more thoughts on this: <a href="http://eu.techcrunch.com/2010/11/07/polish-programmers-are-joining-u-s-startups-but-staying-in-poland/" rel="nofollow">http://eu.techcrunch.com/2010/11/07/polish-programmers-are-j...</a>
The hidden cost of outsourcing is the need for increased project management. Communication issues and cultural differences often lead to poor execution, and projects that fail to meet expectations. Sure, there's significant savings on the cost of a developer hour, but your going to spend a lot more time/money on project management.
I agree with this. We've used a couple of contractors outside of california but in the US. To avoid the majority of issues raised here, we got a potential devs to complete a coding task on metered time. While there was a higher initial cost of hiring we got much better results and are paying well below valley prices.
I know a successful startup, they had an office in Republic of Moldova, now all of the devs have moved to US (on H1B) I think this way the firms tried to retain talents.<p>Another startup also with developers in Republic of Moldova have been bought out by Adobe.<p>In both cases there was a good dev lead in US and most of the developers in Moldova.
Thanks for the post. A lot of time entrepreneurs get stuck in a mindset that assumes dev/design must all be within the U.S. Definitely not always true and most times it depends on the company culture
I encourage people to follow this. We need more data on outsourcing effectiveness. If I were the author, however, I would not use HP as a success story.
We (<a href="http://feefighters.com" rel="nofollow">http://feefighters.com</a>) found our lead designer in Bulgaria. We posted a project on Crowdspring where we asked for a redesign of TransFS.com. Tisho (<a href="http://twitter.com/tisho" rel="nofollow">http://twitter.com/tisho</a>) did such a good job that we brought him on full-time.<p>We don't have any communications/timezone/culture issues at all... he knows American pop-culture better than most of us do (thank torrents for that I suppose?), his English is impeccable, and the time zone thing isn't usually an issue because we all have crazy sleep/work schedules anyway.<p>On a related note, using 99designs, Crowdspring, Elance, etc are great early on and then if you find someone you really like, hire them!<p>That being said, Tisho says that is a pretty idealized picture of Bulgaria... Folks aren't necessarily as highly experienced & motivated as this would suggest, and taxes aren't as low as this article suggests either.
If you can bridge the time zone, communication and culture gaps, then more power to you. And I am not saying that sarcastically. Outsourcing might save a startup enough money to stay afloat long or to make better features to interest VCs/customers.
Summary: consider Bulgaria for outsourcing your software development.<p>As typically happens, no mention of language issues, culture issues, timezone differences, or what kind of talent level you're getting for your dollar. All warm bodies are equal myth, etc. In theory, it can work great. Sometimes, it does. Often it doesn't. Caveat emptor.