Sunday, April 4, 2010

To Outsource or Not to Outsource Software

Outsourcing World Since my background includes software development, I often get the question about when to build a solution in-house, versus outsourcing it to a local company, near-shore service, or off-shore organization in China, India, or Eastern Europe. In the USA, “near-shore” is a euphemism for connected countries, like Mexico and Canada.

There is no simple answer to that question for all cases, but there certainly are some key considerations which will help you select the optimal solution for your case. In fact, the considerations are not unique to software development – they apply almost as well to any product or service you have:

  1. Control of core competency. Don’t outsource your core competency. If your software is your solution and “secret sauce,” don’t entrust it to outsiders of any kind. It’s like giving up control of your company. If the software is ancillary to your mission, proceed through the rest of these considerations.

  2. Intellectual property content. Some country cultures have little appreciation for software as intellectual property. For example, 90% of the software used in China and Vietnam today is pirated. Near-shore and local outsourcing alternatives are manageable with contracts and non-disclosure agreements. Protect your intellectual property.

  3. Technology level. If you expect your solution to incorporate the absolute latest in software technologies, scalable to millions of users, with multi-system failover and recovery, don’t count on out-sourcing. On the other hand, if it is maintenance and testing on non-core software, use the lowest cost solution.

  4. Cost factors. Companies in Asia and Eastern Europe can still provide direct cost reductions of up to 75%. In these calculations, be sure to include indirect costs of remote work, such as more project management, more travel, and less efficient communication. The net may be less cost reduction than you thought.

  5. Product or services. Once product software is written, it doesn’t take much effort to deliver it to customers. Software services, on the other hand, involve the creation of software customized for a specific situation, with a relatively low level of leverage and reuse. Outsourcing for services needs to be carefully managed.

  6. Creative or operational. Creative products, like chip design programs, architectural rendering, or consumer games are not easily outsourced. Operational products, like process automation or reservation systems, may be large but mundane, and more easily outsourced. In all outsourcing cases, a detailed specification is required.
The typical software startup these days is a one or two person operation, founder and co-founder, who do the work themselves on the first product with no salary. With today’s tools, they can do the work of a six or eight-person team 10 years ago, so software outsourcing is not appropriate.

On the other hand, if your startup is not software oriented, but you need some work done (not central to your product and core competency), it is usually better to outsource, either locally or remotely, than to hire employees, manage them, pay benefits, and maybe have to lay them off later.

If you do decide to outsource, build the relationship first, and manage the project carefully. Watch for evidence of inadequate staff and training, high turnover, poor or inadequate process, and lack of vendor project management. On your side, the killers are poor specifications, no acceptance criteria, and scope creep.

Overall, I believe that the demise of software entrepreneurs has been greatly exaggerated. Whether you are outsourcing software development, manufacturing, or accounting, the considerations are the same. Outsourcing is a tool, not the problem or the solution.

Marty Zwilling


Share/Bookmark

12 comments:

Allan R Johnston said...

Greetings Marty,
Great article as usual. Are you following the Start Up Visa legislation to incent entrepreneurial talent to move to the United States to start new businesses? Do you think we can identify creative international software geniuses and 'insource' their minds and bodies to Alaska and Arizona :).

Tex Pine said...

I would like to apply for this Startup Visa Allan mentioned, I'm from Brazil. How about an article (or maybe more than one) on this subject?

MartinZwilling said...

@Allen, I'm aware of the initiative, and I support it. Usually these creative people come to our major universities, like MIT and Stanford, so I expect these states will benefit more than Alaska and Arizona. Secondly, they come where the investors are more prevalent, so I'm working on getting more investors here in Arizona. I know you are doing the same for Alaska.

@Tex, thanks for the idea. I'll take a harder look at it.

Tony Karrer said...

On Technology Level - my experience has been that it's hard for many startups to deal with more complex implementations in-house - especially early on. You can't afford and can't manage the level of resource you need in-house. I'm highly biased in that I'm a part-time CTO, but I wonder if getting outside help doesn't make sense in the high tech level startup scenario?

Issa said...

I believe that the biggest worry that anyone has in outsourcing software projects is IP, or intellectual property. International laws on cyber security must be strengthened if we want to see a more successful outsourcing in this field. Nice insights on this post, by the way.

SEO said...

By applying project management software to your company, you will instantly have a pleasurable time in dealing with any project that comes about. It is important that you are kept as organized as possible because of the possibility that you could miss something. That mistake could end up costing you and your project a successful completion.

Angel said...
This post has been removed by the author.
Choltsy said...

With the help of software you can multiply projects and handle multiple tasks quickly.

----------
IT Support Pasadena

Philam said...

Being in the outsourcing business, outsourcing is a strategic tool that and as the most effective way to help businesses especially during the downturn time.

Philam said...

Maybe some of you need more information about outsourcing. Feel free to visit Outsourcing Philippines our site and ask for inquiries. It's totally free.

Mexico Outsourcing said...

Technology has a vision that offers and delivers offshore software outsourcing services of course. It is the backbone of all new inventions.

ApineMan said...

I strongly believe that you should only outsource non-core processes and projects to either near-shore or offshore outsourcing solution provider. Confidentiality and security indeed are major issues but could easily be solved in a solid relationship, trust and non-disclosure agreements.

When jumping into the concept of Outsourcing, thorough and extensive screening of possible candidates is a must to alleviate further cost and budget cutbacks.

Post a Comment