Different peoples have different opinion about outsourcing vs in-house, its true both things have pros and cons, but majority believe and praise the merits of outsourcing while others have sworn off due to horrible experiences. Should you outsource development overseas or hire a developer for your team?
The Benefits of Outsourcing
Cost – Obviously, the cost of labor is much cheaper overseas. Why pay a local developer $150/hr when you might be able to get the same work done for a quarter of the cost, or less, from another country? Then, you could use the cost savings to build a bigger, more feature-rich application.
However, comparing labor costs isn’t as easy as you might think. Outsourcing firm urges entrepreneurs to consider the extra time associated with managing and preparing an offshore project. Often, comparing explicit costs leads to the fallacy of not considering opportunity costs and to assuming that one hour of labor is equal everywhere.
Short Term Commitment – The most underrated benefit of outsourcing is the ability to bring in an expert on a project basis without committing long term (and paying the associated costs). You may really need someone with one skill set now but need someone with a totally different skill set in a few months.
No Office Distractions – This may seem silly, but many office environments are huge distractions for developers. With lunch, office chit chat, and commuting, there is little time left for developers to get actual work done at the office. Additionally, this usually means developers must work way more hours than necessary, which hurts morale and possibly company culture.
The Benefits of Hiring In-House Developers
Buy In – Developers who work for you full time have bought into your idea and have high opportunity costs for working with you. They are investing time and energy into your idea and have a vested interest in the outcome. That’s huge. They are less likely to bail for a number of reasons and, if the fit is good, will be long term players.
Relevance – Developers who are sitting next to you know what’s going on and can change directions quite easily. A new feature may take priority after a casual conversation rather than waiting for an allotted meeting time. They also know what challenges the business is facing in other areas, such as sales and marketing, and can offer potential solutions or fixes.
Aligned Interests – Freelancers, by nature, define success by securing clients, delivering on projects, and working on multiple projects. Entrepreneurs, by nature, define success by building businesses that generate revenue and disrupt markets. This takes a long time. A freelancer (especially one who is outsourced) will take you only so far.
Disadvantages of Outsourcing & Possible Solutions
Quality – A huge issue when outsourcing overseas is quality control. How do you make sure the code that is being written is high quality? How do you even judge the developers on outsourcing sites who list their portfolios? A common practice for large overseas dev shops is listing a general portfolio of work the firm has done (usually the best developer). You can’t be sure what you’ll actually be getting.
Couple of strategies to mitigate this risk: hire someone local to act as a consultant and do some of the legwork, and have companies in the running do a test project to see whether they are a good fit.
Another option is to have candidates do a technical interview. Some outsourcing sites have tests that candidates can take on their own platform, but I’d encourage a personalized test. If you go the technical interview route, here are some common questions (and their answers).
Remember, the point of the technical interview is to make sure the candidate actually can code. Once they pass, you’ll want to ask behavioral questions to make sure there is a personality fit.
Code Collaboration – Collaboration is a HUGE challenge when outsourcing overseas. Depending on which country you choose to hire a developer in, there can be major cultural issues pertaining to the statement of work. Software development is organically a collaborative process, but you can’t really expect developers overseas to understand what you’re asking because they are coming from a different context. That’s why writing extremely specific requirements is key to having a good experience outsourcing.
Experts also highly recommend outsourcing to a company using Scrum. In studies, large cross-distributed teams achieve the same goals as small local teams when using Scrum.
Why? Scrum works because it allows projects to self-organize, provides transparency into project work, and emphasizes communication from team members. The fact that all participants follow a framework or process is important to ensure consistency.
Without Scrum, project owners are left in the dark until work is completed, and by that point, needs or preferences may have changed. Having this kind of organized process is super important for distributed teams that lack organic methods for communication.
Logistical Challenges – Many entrepreneurs don’t consider the challenge of being 100% remote and having a developer in a very different time zone. They may have to wake up in the middle of the night for conference calls with the dev team, a time when they likely wouldn’t be doing their best work.
A way to get around this is to hire a team with a project manager who is either local or in a closer time zone.
Disadvantages of In-House Developers
Cost – Keeping resource with all perk, medical allowances is ridiculously expensive. Developers’ salaries and their other office and documentation work expenses, Hiring a resource is itself a costly process.
Time – The time it will take to find the right developers and convince them to join you may be more than you think. Different from an outsourced worker who you can switch out on a project-by-project basis, a full time developer needs to be someone who is a fit from both a skill perspective and a cultural perspective. Since demand for skilled developers is so high, finding the right developer may take you away from other pressing issues with your business.
Conclusion
In all, my general recommendation to people who ask whether they should outsource development overseas or hire a developer is that the right answer really depends on the situation and usually is a hybrid. If someone is a technical founder who can easily relay technical requirements, judge code, and cut through the crap associated with hiring outsourced workers, that may be the best solution.
If you’re looking for a developer, and you’re deciding whether to outsource I’d recommend asking yourself these questions:
- What am I looking for in a developer?
- How much time do I have to spend doing the search?
- Can I write comprehensive technical requirements and judge how well code is written?
- How important are collaboration and feedback to the success of my project?
- Where does cost fit into the equation?
Answering these basic questions definitely will assist you in figuring out which choice is best.