Blog | Software outsourcing information

Does it Make Sense to Outsource Your Legacy Development?

Written by Andy Hilliard | Oct 8, 2015

It is difficult to find developers who are willing to work on legacy software technology stacks. So it is tempting to turn to outsourcing as a way to satisfy these needs. But developers at outsourcing companies want to be current too.

You can't just dump your low-value work onto an outsourced team. Just like the developers you are trying to hire locally, they don’t want to take on your “crap” work.

Companies have developed much software to automate and improve the profitability of their business for many years now. Unfortunately many companies are now left in the dust from the rapid pace of technical change. Their software (and each user!) suffers from technical debt and use of an old software technology stack that is difficult to maintain.

Searching for A Developer

It is difficult to get developers to work on old software. According to Boston Consulting Group (BCG) the top old software technology stacks for which there is a shortage of developers in the U.S. are:

  • FORTRAN
  • Cold Fusion
  • Visual Basic
  • PHP
  • C

Meanwhile Bloomberg reports that the developers who are willing to work on this old technology are getting old themselves. “An estimated one-third to one-half of all Cobol and Fortran programmers are at least 50 years old, and today’s generation of software developers is using newer programming languages, creating a skills gap for many businesses.

Furthermore, BCG says, “Software talent should be regarded as a precious resource that is essential to realizing a broader corporate strategy.” And “Talent is a global commodity—sometimes. It is akin to carbon, which can take the form of ordinary coal or of precious diamonds. ... Multinational companies already have resources spread around the world.”

Using Outsourcing

All this suggests the possibility of global outsourcing as a way to find this missing software development talent. Unfortunately this is not the case since developers everywhere want to work on the latest stuff.

You may also notice that the BCG chart also shows there is a shortage of talent to handle new software technologies like Ruby, Objective-C and NoSQL databases like MongoDB and Hadoop. This shortage of expertise for new tech stacks is fueling the use of outsourcing to expert companies around the world. Can you use this same approach to handle legacy stacks? Probably not.

I own an old BMW model 2002tii from 1973, a project car that my son Tim and I worked on over the last 10 years or so. It’s fun to drive in the curvy mountain roads near my home and the car never fails to turn heads when I pull into a parking lot, despite a cracked dashboard, no cup holders and an occasional part falling off !

There are only a couple car repair shops in the Bay Area qualified to work on the old BMW and I have to do most of the maintenance myself. But this car is just for recreational driving on weekends a few times a year. I have a newer more reliable car (a Prius Plug-In) as my daily driver and that I depend on for getting to business-critical meetings. You can replace your old code with an app based on new technology like my Prius. But you probably don’t want to keep the old code around. Unlike my BMW it’s probably not fun to drive!

Instead use expert outsourcing, not to maintain an old tech stack, but to make a transition to a newer, more maintainable one. It includes a short-term support strategy as you make a transition to a new technology stack that developers will want to work on.

This type of transition is common in software outsourcing. For example, clients come to us with old Cold Fusion web apps which still look good but are not supported well on mobile devices. And it’s hard to make enhancements without developers who want to work on CF. These clients are making a transition to HTML5 and a dynamic user interface based on JavaScript using an outsourced team.

What's the Risk?

It’s a relatively low-risk scenario too. That’s because the functionality of your app is well-defined and the new code has to simply replicate the old behavior. But most clients don’t stop there. They usually have a backlog of features and enhancements to be added. Despite having a comprehensive “spec” for the finished app, an Agile development approach is still recommended, especially when adding new features.

Software outsourcing can help you with your legacy apps but just not in a way you may have been considering. It’s important to look for a software outsourcing partner who has experience helping other clients make the same kind of transition to a new technology stack. Look for just a little bit of experience in the old stack to facilitate the transition and deep expertise with the new.

Need help searching for a software outsourcing partner? Our free eBook can guide you through choosing a partner that fits your needs.