Many companies turn to overseas contractors for short-term software development projects because they believe it saves the company money. These companies often miss the hidden costs involved with sending their projects overseas, and end up paying far more than they bargained for.
There are a lot of myths involved in using overseas contractors, so let’s take a look at some of them.
Contractors are Cheaper
When dealing with overseas contractors, there are a lot of things to consider beyond just the base cost per hour. Most contractors were not educated in the same way as in-house devs were. Some have no software engineering background at all. This means that projects are destined to run over their intended schedule due to the contractors inability to understand the basic concepts of the project goals.
Often there is also a language barrier which also prolongs the project. Each hour the project is prolonged, whether it is from contractor incompetence or any other reason, costs the company more money.
In-house devs can focus on other projects
The ultimate goal is for in-house devs to focus on more important goals. Unfortunately, since most contractors are unable to understand their project properly, the end up interrupting the devs regularly for help and input, which defeats the purpose of hiring the contractors.
Hiring contractors can speed up project development
Often, hiring contractors will actually slow project development down, especially if the project is already late. Fred Brooks articulates “Brooks Law” in his book, The Mythical Man-Month, which states, “adding manpower to a late software project makes it later.”
Even if the project is not late already, bringing contractors onto a project slows it down. Devs who are familiar with the project have to stop what they’re doing to bring the contractors up to speed on where the project is, where it was, and where it needs to be. Because these contractors are less skilled than the in-house devs, they often need to be walked through much of the project.
Contractors can deliver software just as good as in-house devs
Most overseas contractors are taught software development very differently from how it’s taught in technologically advanced countries. Rather than teaching people to write code and solve problems, these places teach prepackaged solutions. If the project you are working on does not fall under one of the prepackaged solution they learned, they will be completely lost. This is why they spend so much time trying to get answers from your in-house devs. Unfortunately they don’t learn how to solve problems, they simply add whatever solution they get from your devs to their repertoire of prepackaged solutions.
If the contractors do not have a prepackaged solution of their own and are unable to get a solution from an in-house dev, they will often find code on the internet to copy/paste into the project. Most of the time this internet code is very flawed and not meant for what the contractors try to use it for.
Most of the time companies don’t hire contractors as a normal business practice. They do it because something did not go as planned. So what are ways to plan for the unplanned?
Keep a clear vision
Details of a project are going to change, that’s inevitable, but as the person in charge, keep a clear vision of the path ahead. Even as the path starts to wind and get a little bumpy, keep a clear focus on the big picture. Catastrophes happen when the big picture makes a dramatic shift. If that vision has to change, do it in increments.
Remember where your loyalties are
I hear so many claims about contractors being able to come in, get a project done, and get out, but is that really true? What are they leaving behind? Usually they leave a mess of code that the in-house devs have to sort out. Why do those in-house devs sort out that mess? Because they are invested in the company. They actually care about the quality of the code the company puts out. That investment means something to the people invested, and it should mean something to the company, too.
Offer bonuses to in-house devs for side projects
The best course of action is to avoid getting into a situation where extra work is necessary. If that is not possible, having devs who are invested in the company and the code complete the projects is a far better choice than having contractors who probably don’t have the prepackaged solution that’s right for your specific issue.
The ultimate goal for any project is to complete it in the least amount of time, using the least resources, and gaining the most quality. No matter how you look at it, contractors cannot contribute to this pyramid in any way. The only way to maximize quality and resources in the least amount of time is by sticking with in-house devs.
Comments