Sunday, April 17, 2011

Six Key Factors in the Right Outsourcing Decision

call-center-outsourcingSince 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, and almost never works.

  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

10 comments:

  1. On number 5 you mention the problem with software for services and that they rarely work. Would you be able to elaborate on this a little more? It is my experience, as an owner of a service based company attempting to further develop software to make our services more streamlined and expandable, that our services would be duplicatable or replicatable allowing us to expand outside our region if we had the software backbone needed to expand. In what circumstances does outsourcing work and can you provide some management considerations to ensure the project's success?

    ReplyDelete
  2. @Tenant Watch, if you provide consulting services, for example, on marketing, in my experience it's hard to find outsourced people who have the level of skill, conviction, and credibility as you and your hand-picked team. If your services are heavily supported by software tools, as you suggest, that would more likely work. In all cases, strong project management from within your company is required.

    ReplyDelete
  3. Great post Marty,

    Really motivation one for us. We do virtual office assistant services for small business owners and posts that encourage outsourcing will always keep up us on track.

    ReplyDelete
  4. Some feedback on all the points: 1 & 2) it succesfully be done as long as proper NDA agreements are internationally signed (e.g. USA + some other country), do also incluse the NDA as a clause of contract loss if proven. 3) I beg to differ: Solution & Software architects witha a proven record of capability abound, they can be added as consultants, team-members or hired personnel being local or out-shored. Point is that nobody wants to pay for "expensive" people when the point is to have low cost ones.
    4) This is the biggest tabu in Outsourcing and will clarify it: If you can't delegate a task properly within your local team, don't outsource. Don't expect that a guy thousands of clicks away from you can read your mind. Also consider agile development methodologies, when used properly, your team local and remote can iron out any difficulties. 5 & 6) Highly incorrect: there are several firms sucesfully doing it. Plenty of them are doing creative work for the USA and Europe. What you are missing here, is that the main hiring firms are not giving away the fact that they depend on external resources to do it - which would undermine their own positions within the firms they work on.

    Hope it helps to clarify what's really happening.
    Boris

    ReplyDelete
  5. I must say that overall I am really taken with this site.You obviously know what you are talking about as you write with passion. If only I had your writing ability I have bookmarked your website and look forward to additional updates.

    ReplyDelete
  6. If you know what it takes to be an entrepreneur and if you are fully loaded by your job. Start it by outsourcing in the Philippines

    ReplyDelete
  7. I totally agree, the best place in hiring is in the Philippines

    ReplyDelete
  8. Thanks a lot for writing about useful, good review. It must to know that outsource software development could help in your business by installing customized software solutions.

    ReplyDelete
  9. It's Really helpful information for Outsource Software Development.

    The fact that many of these are rapidly expanding their offshore facilities is testimony to the benefits in quality of software development obtained and the efficiency of their outsourcing establishments.

    ReplyDelete
  10. Outsourcing is helpful but these are some great factors to take into account before outsourcing your projects. As a cost factor point of view, Asian countries does the best job, definitely the traveling cost will be increased but still the complete calculation will led you to a less cost.

    ReplyDelete