I have a unique story leaving me a bit of a unicorn: (technical + designer + marketer). - College for mass communication, sold a video production business at 21, opened a 3D animation business and tried to build a Pixar, but failed. I was a great technician / animator / project lead, but terrible business owner at the time. In college I painted (and sold!) cubist art, and animated professionally (NBC, PBS, Microsoft, etc. - i.e. have a design background with tech chops i.e. 3D rigging, etc. and had been on computers since age 8 with a commodore 64) - Closed the animation biz in 2001 (not sold, not bankrupted, just closed up) as I had a kid en route and moved into real estate via a friend. Seems like an odd choice, but this was good timing (real estate boom years). I failed at the animation biz due to marketing, not product, though we had deals, peaked at 17 people, worked with WB, Atom Films, Dreamworks, Starz, etc. - Built a mortgage-specific CRM (Lendermate) 2005-2007, but it was only a base hit. Was making several thousand a month residual, but wasn't a great product market fit and by the time we had some modest traction, the real estate bust (2008-9) washed out a lot of clients. I was also doing real estate sales (realtor) 2005-2010 here and there. Started electronic signature software iSignature.com, but failed technically (ran out of runway / resources see below). - In 2007 I closed the mortgage biz, stopped iSignature at the finish line (ouch - capital$), was in chemo + radiation for a very curable type of cancer called Hodgkin's Lymphoma (all cured, thanks!), and divorced, and was even technically homeless for 6 weeks (well, couch surfing with friends). At the same time, and with my then 3 years old son. I'm all good now, but this makes for an entertaining story low point. ;-) - Now I've bounced back - I am reassembling the software I wish I had while in real estate into a software suite carefully taking a more client-first approach based on lean startup (Eric Reis), lean running (Ash Maurya) type approaches, as well as doing UI / UX consulting, high end wordpress sites, etc. as we build traction. Note: I welcome consulting work, but generally B2C only, due to a potential conflict of interest, I must decline anything related to CRM, accounting, or project / task management.
I've been doing this a few years, and built a mortgage-industry-specific CRM that had about 1500 clients. It was fine.
That said, it was no grand slam by any stretch, but that wasn't because of our technical execution of product, it was more about my mismanagement around product-market-fit. Moving forward I'm still outsourcing, but as one of the others indicated, have a few tips:
1. I never, ever let 1 team dominate the show, and each team doesn't have enough code of the machine to make it all run without me or hold me ransom. Also, I'm very hands on, speaking to them daily, managing tickets via bitbucket, etc... there are dozens of pitfalls in oursourcing such as coder bait-and-switch i.e. they'll use some sharp fluent in english coder to win your business, then the moment it's committed shuffle you to the sloppy rookie with marginal english skills (with a lower hourly rate and thus more profit for them).. I'm pretty wary of companies personally preferring to gel our own culture and hire only individuals, but that has challenges too like more frequent power outages (people working from home in india are more likely to have this happen).
2. I'm technical, and though I'm a sucky coder, I do speak coder and understand it all pretty well including the technology, DB design, etc. so if someone tries to blow smoke at me, I know pretty quick. Frankly, you can often cut this off at the pass early by knowing the lingo and doing some research i.e. if you ask for a ZF2 / doctrine ORM coder, that's not really rookie-level system design and so you'll probably command a bit more respect out of the gate.
3. As we get traction and/or the burn rate can be prudently increased, I'd bring about 60% in-house full time staff coders, as outsourcing does have a hidden cost. I think this transition can be mitigated if you use single coders not companies, and have clean, organized, well documented code (and even then, styles vary among coders).
Hope that helps -
RogerV in Los Angeles