In a previous blog post we covered the topic of two roles you should never outsource. Just like there are certain roles that you shouldn’t outsource, there are also certain software projects that you shouldn’t outsource:
- Sensitive Government Work – We know of more than one potential client who can’t outsource because the software they are developing is used by high-security sites in the United States government. The US Government (as well as many foreign governments) places strict regulations on the employee status of developers of its core code in order to ensure that there are no back-doors built into the source code.
- Algorithms that are Central to Your Intellectual Property – Many companies express concern to me that they can’t outsource because they are worried that their developer will steal their code. This is a myth that we busted in a previous blog. However, there is an exception to this: don’t outsource complex algorithms that are key to your intellectual property.
For example, Google’s search algorithm is core to its IP because it allows the searches to be done in a specific way and speed and this algorithm is core to Google’s IP becuse it ensures that other search engines can’t keep up. However, Facebook adding a new feature wouldn’t be central to its IP because any competitor can use the feature and easily reverse engineer it by just analyzing what it does.
Most companies don’t have algorithms that are central to their IP, but instead have features that are easily reverse engineered anyways. With features, you are better off developing quickly – either onshore or overseas – and being first to market to gain market share, rather than worrying about your developer stealing the code of these features.
- Complex Local Testing – We have ran across some potential customers who were not a good fit for overseas development because they required complex testing that couldn’t be replicated remotely. A good example of this is firmware development tied to hardware. Many times the hardware can’t be easily shipped overseas, so it’s better to hire a local developer who can also easily test it.
There are certainly some software projects that don’t lend themselves to be easily developed overseas. However, from our experience these are a small percentage of the overall development projects. Most projects are easily done overseas and if managed correctly, can save a company time and money in the process.