Columns

Thinkpiece: Think before pushing development offshore

In Bangalore, India, it’s common to hear of developers leaving their jobs for others that pay twice as much. This churn is driven by companies in the developed world transferring development to India as fast as possible. In this mad rush, some projects are being outsourced that ought not to be.

Here are five questions to ask yourself before you send work overseas:

  1. Are requirements well defined? The classic case of when not to outsource is when you’re not quite sure what you want the final product to look like. Given the time differences and communications issues for offshore development, any uncertainty is likely to result in delays and quality issues.
    This is especially an issue for small teams working on critical projects, such as in a startup or in a leading-edge product development effort. The technology infrastructure is often not well defined, standards change quickly and the customer is often not well understood. Even with investment in process and communications, these projects are not likely to succeed offshore because they require the constant communications of a closely knit and collocated team.
  2. Is there a suitable development process? Many software teams now rely on newer methodologies like extreme programming which require constant iteration across specification, design, development and testing. These models are incompatible with the approach of many offshore companies, as they have invested significantly in achieving a Capability Maturity Model rating of 5, which is based on a more traditional waterfall development process. Even where offshore partners are willing to use an extreme programming process, the degree of interaction required makes it very unlikely to succeed.
  3. How much user interface and business process expertise is required? Many countries are training their people to speak American English and to use American idioms like “in the ballpark.” However, all that training does not make it possible to understand the needs of a user who has a completely different cultural background.
    For enterprise software, especially, where the user community is located in the U.S., or in other countries around the world, getting local expertise to design the user interface in terms of workflow, screen design and even field names, is crucial.
  4. How critical is intellectual property and data protection? Laws in India, China and other countries are just as tough on intellectual property theft as those in the U.S. or other developed nations. However, enforcement can be difficult, for many reasons:
    • The process of conducting employee background checks is generally more complex and involves ad hoc techniques rather than established databases and resources.
    • Many outsourcers work for multiple clients, and could well be working for you and a competitor at the same time. Intellectual property can be leaked inadvertently in hallway conversations.
    • Employee turnover in countries like India now approaches 30 to 40 percent annually for many IT firms. With turnover rates this high, it’s impossible to ensure critical employees won’t be working for the competition after they leave.
    • Even where it is detected, prosecuting IP or data theft in other countries can be complicated and time consuming due to different (and generally less litigation-friendly) legal systems.
  1. How time sensitive is the project? Offshore development may not be the best approach for time-sensitive projects. The high turnover rates, and the difficulties with communication and process, can create situations where critical deadlines cannot be met or quality suffers.
    Offshore development is here to stay. When used on the right project, with a process that is well thought out, it can be a tremendous success. As one engineering manager I recently spoke to said, “It’s a great way to augment a local development team, and to make things feasible that wouldn’t otherwise be. But it can’t be looked at as just a cost reduction, as in ‘Push it overseas to cut costs by two-thirds.’”

About the Author

Venkates V. Swaminathan is a consultant to companies that outsource software development.