Get everyone in the same office space to work relentlessly on the common goal? Or take a leap of faith to save massively on offshore outsourcing? Let’s see what is behind each option.
Here is the general rule of thumb: the less physical and mental distance between you and your development team, the easier it will be to build your app or website for you and your team.
In-House vs Outsourcing Comparison
In-House→ Local Outsourcing→ Hybrid→ Offshore Outsourcing
It is a very hard truth to admit for us, as we are in the outsourcing business. Our web development agency is based in Eastern Europe and most of our clients are from the USA. We just cannot say that it is easier to talk to and understand someone who is across the ocean, than a person who is sitting right next to you, can we?!
Of course, there are exceptions. Local guys can disappoint you, just as foreign guys can, but probably it is easier to spot a problem that is right in front of you, than somewhere overseas. However, everything comes with a price. So there is the continuation of the rule: the closer is your web development team, the more expensive they’ll be.
Skilled IT specialists aren’t cheap in the US, neither are local web development agencies. It is possible to find offshore guys that will do the same job for fracture of what you’d pay at home. There are way more factors than cost and your stress-levels to consider in your ‘outsourcing vs in-house development’ choice. Read further to see what’s behind each choice.
Pros and Cons of Hiring In-House vs OutsourcingLet’s take a closer look at reasons some companies choose to build their product in-house, while others go for outsourcing, and risks each option entails.
Advantages and Disadvantages of In-House Web Development
Why Build In-House?
Many high profile entrepreneurs are firm believers in keeping IT guys in-house.
Mark Suster, a former entrepreneur, now a VC, says he would never invest in a company that outsources entire development process of their product:
If you don’t have somebody inside your organization who is setting the technology direction then I’m convinced you’ll never head for greatness.
In his book, Peter Thiel, entrepreneur (PayPal) and investor, also argues that outside people and organizations (consulting and outsourcing firms) will be misaligned with goals of your company.
...everyone you involve with your company should be involved full-time
Therefore, we find the following benefits of in-house web development to be the most important:
When propagating in-house IT, both Mark and Peter mostly talk about the involvement of the team into the project and alignment of their goals with company’s goals.
On the material level, your employees are financially motivated (salaries, bonuses, stock options, equity) to not just building a product, but rather building a product that will succeed. So your employees know that the actual result of their work will determine their financial reward.
On the mental and moral level, being part of the collective movement to greatness, making a
contribution to the overall success of the company is quite different than working on one of the client projects.
In addition to that, if developers are in the same space with the company’s CEO, marketing, and other specialists, they will have more context and understand what’s behind those technical requirements. This naturally leads to better decisions.
- Ease of Communication
As I’ve already said, it is way easier to communicate and understand someone who’s standing in front of you, with whom you share the same mother tongue and mentality.
- High Agility
The ability to communicate and implement changes with little to no delays, practically in real-time, is also very important to some businesses.
This is the case with ACB, one of our clients, a large US based cosmetics corporation. Dmitry Polonsky, technical consultant and former Head of Software Development at ACB says:
Our company is quite special in a sense that we have to respond to business needs very quickly. Some projects have to be even completed in 1-2 days!
That is the major reason, why ACB went for a hybrid approach, i.e. they outsource only part of their web development to us and still keep a few web developers in-house (more on that later).
You will also have more control over your employees, than of an outside agency. In such a way you can always see, who is where, doing what, what is working out and what is not. While with an agency, sometimes you only know what your Project Manager tells you.
Risks With In-House Teams
The price tag for all of the good things mentioned above is quite hefty and not everyone can or want to pay it.
- High costs
The cost of hiring full-time employees will almost always be much higher, than outsourcing to ‘cheaper’ countries. Main reasons for that are high local salaries and very expensive overhead, i.e. taxes, HR services, equipment, facilities etc.
This doesn’t go for outsourcing to local US agencies, as domestic outsourcing can be more expensive. Below is the table by Accelerance that demonstrates this difference in what you might pay to specialists from different regions. Note, that the figures below don’t take overhead expenses into account.
In fact, the costs of hiring a qualified local development team can be so high that for some companies it can take way too long to get a positive ROI on their IT projects.
- Talent scarcity
It’s quite self-evident that the talent pool of qualified IT specialists in your city is way smaller than the talent pool of top outsourcing destinations (like Eastern Europe or India).
Therefore, you might find yourself stuck in search of the right specialists, especially those with adequate salary requirements.
- Uneven workload
Another thing to bear in mind is whether you’ll be able to keep your in-house team busy at all times. You’d have to pay your employees regardless of how much they’ve done, while with your outsource you mostly pay only for what you get.
- Lack of innovation
This might not be true for everyone, but from our experience, in-house teams are often living in their own world, not having time to look outside. Working on the same projects for the same company cannot compare to the scale and variety of projects that an agency handles.
Advantages and Disadvantages of Outsourcing Web Development
- Low cost
When it comes to offshore/nearshore outsourcing, the number one reason entrepreneurs go for it is low cost. The difference in salaries of local US specialists and those from top outsourcing destinations is quite noticeable.
So, provided you’ve found the right outsourcing partner and have the right approach to working together (more on that later), the price-quality ratio will be very attractive. In fact, so attractive that both startups and big corporations don’t shy away from this option.
- Big talent pool
Finding great talent is hard everywhere, but removing borders might increase your chances.
Eastern Europe, an example of popular outsourcing regions.
- Flexible Workload
If you are unsure of how much work you will need over the next six months or longer, then it may be better to rent. That way, you can learn what kind of team you may need instead of committing to something you are still unsure about.
Derek Capo, Next Step China
In the world of agile everything, it is very hard to predict a stable workload for your team. Moreover, there are some specialists whom you will need only for short periods of time (like Front-End Developers or QA Engineers). You might end up paying for downtime or having to come up with tasks more to fill up time gaps than to bring value.
With outsourcing, you don’t need to plan as far ahead and you will have a variety of specialists that you may attract as the need arises.
An agency has many different talents at its disposal that can be harnessed to produce a best-in-class product. It’s tough to build an in-house team that has enough variety in skills and experience to replicate this.
Compared to that, in-house teams work in a much more stale environment.
Developers get bored with one project after a while. They like variety, and it’s tough to offer the variety a developer craves while focusing on only one product/project.
- Fraud or disappointment
“What if they take my money and disappear”, this is the kind of fear nearly everybody is going through when thinking of outsourcing.
It feels riskier to do business with someone overseas and sometimes it is. It is hard to spot fraud so far away and there is little to no liability, as most offshore companies are out of US legislation.
- Low involvement
It is quite hard to get an outsourcing team as involved in the project as an in-house one. They don’t live and breathe your project, they have other clients to take care of.
Not being physically present, also means that they miss out on a lot of background on your decisions and your business.
- Difficult communication
We all know how much easier it is to deliver your thoughts in person as opposed to mediums like Slack or Skype.
- Low agility
With an agency, you just cannot go across the room to the lead developer and ask her to ‘change a few things urgently’. It will take some time to communicate what you want to your Project Manager and then he’ll transfer the task to the developer. Top that with a time difference and you might have a day’s delay. While it is completely ‘ok’ for most of the companies, some might require nearly instant responses.
How to Lower the Risks and Reap All Outsourcing Benefits?
Being very aware of the benefits of in-house development helps us find ways to bring some of that goodness to outsourcing. The success of your outsourcing project depends on you, even more than you might think.
1. Research Potential Vendors
Finding the right vendor is a separate topic in itself. A lot is already said on the topic, we suggest looking through materials like the one about determining the right vendor type for your company, by Dave Hecker, founder of SourceSeek. We can only add a few things. Firstly, if you are not tech-savvy enough to judge on the competency of potential vendors, it might be a good idea to ask a friend or hire a technical expert to evaluate the skill level of your potential vendors.
One of our clients, Arnuid Kuipers, a Dutch serial entrepreneur has hired a tech consultant that helped him to search, shortlist and choose the ultimate vendor.
And secondly, verify client reviews with Linkedin and ask to speak to them personally. If the agency made many clients happy, most of them will agree to give personal recommendations.
2. Lower Risks With Trial Periods
Research is good, but you can really see if it is a match only in the process of working together. So lower your stakes with some trial project. It should be small enough that it is not absolutely critical to your project, but big enough that it will demonstrate their qualification to you.
Some good examples of trial tasks are:
- Building a quick prototype
- A few features.
It can be also a good idea to use time-tracking software (perhaps with screenshots) to give you some peace of mind. And don’t fall for those who offer free trial periods. Good specialists won’t and shouldn’t work for free. On the other hand, it is a good practice to give discounts for the first weeks.
3. Involve Your Team
Don’t treat your developers as coding machines and they won’t be ones!
Understanding what to do is good, but understanding why to do it is great. Remember the “Start With Why” TED talk by Simon Sinek?! So don’t just leave your team with a list of specifications and expect great work.
- Give background on your ideas and decisions
We always ask a lot of questions about the background of the project and of certain decisions. Especially when clients are too brief in their descriptions. This not only helps us do a better work but sometimes we are able to suggest better solutions that our clients haven’t thought of.
This just one of the examples of this, a situation with one of our clients, Levi Koenig, entrepreneur, founder of Allbox.:
didn't think I could afford developing an online store from scratch, so I had already chosen a ready-to-use CMS when I met Greenice team. The guys showed other possibilities to me. They suggested building the app on Yii and Bootstrap frameworks (open source). We've calculated the costs and it turned out that a custom-built store was a much better option in my case.
- Give background on your business
You live and breathe your project? It is also great to explain your team why your project is so important to you and it’s future users. This will help your team feel they are contributing to something good.Another way to involve your development team is to show them how their work is used and the business results it produces. We always like when clients tell us how web apps and websites we’ve developed improved life or work of their end-users.
You can even go as far as actually have your development team see/feel/try your products or services.
One of our clients, Tomas Shipley, CEO of ACB, American cosmetics company used to regularly send gift packages with their products (creams and shampoos) to each specialist his company works with.
From our experience at Greenice, being far away from your team, especially with a big time difference, makes both sides very disciplined. Distance requires extra clarity and extra explanation. Make sure you tell the whole story. Don’t be afraid of repeating yourself and make sure the one on the other side understood you correctly. It takes some getting used to, but after a few weeks, this way of communication becomes natural.
If possible, invest in meeting your team in person, by inviting them to your site or pay them a visit yourself. We find it very useful and well worth the investment each time our clients do that.
5. Turn Time Difference Into an AdvantageThere are ways to turn time into an advantage. If you can organize work in such a way that you can formulate your tasks and requirements during the day than those can be carried out while you sleep.
Another important advantage is that you don’t have to stop your business for a system upgrade or maintenance. Your offshore outsourcing crew can do it overnight.
6. Go Hybrid for Maximum AgilityThere is a compromise that will help you get the best from both worlds. It is called hybrid approach or team augmentation. You can have part of your team sit in your office and part somewhere overseas. Thanks to this, you won’t have to sacrifice on involvement and agility, while improving the communication.
It is common to keep technical management, including team leaders, on the client side and executors (developers and QA engineers) outsourced. In such a way you will maintain the connection to your development team to business so that they will better understand business needs and have a very fast reaction to changes.
ConclusionTechnically, the lowest risk option is hiring everyone in-house. However, this doesn’t make it the best option by default. High costs along with other disadvantages even out its chances with outsourcing.
When it comes to offshore outsourcing, besides lower costs, it has many other attractive benefits, as well as ways to lower the risks associated with it.
But in the end, everything comes down to finding the right people!