Highlighting the pros and cons of choosing an onshore freelance team versus working with a dedicated nearshore team in a software development outsourcing engagement.
A recent prospective client of ours scratched her head while deciding whether to hire a software team through an on-demand freelance website, or to search abroad for a proper company that she could use as a software development partner. Both alternatives seemed attractive to her because of the savings they promised to offer: between 30 to 100% savings when compared to hiring a reputable software development outsourcing firm onshore in the US.
But how to decide, then, between the two alternatives? Although there is no cookie-cutter answer to such a question, we've highlighted the advantages and disadvantages of each. To make the stakes more clear, we've structured our discussion using the claims of a popular freelance website dedicated to sourcing US engineers.
The freelance site claims that hiring a freelance team through their site is "30 to 50% less expensive" than hiring "their competitors" (which we surmise are other established software development firms in the US who staff their own engineers and offer their services via their own hired workforce).
Onshore Freelance Site
- PLUS: Sites that agglutinate freelance developers can offer cheaper rates than established software development firms.This is due to the fact that, since people work from home, overhead is very light: freelance rates contain no implicit location costs, rent costs, insurance fees, training expenses, management overhead, marketing costs, etc. All the money you pay to a freelance site, minus a small commission for the "freelance website", goes directly to the engineer.
- MINUS: The benefits of the so-called "shared economy" do not apply equally to all business situations; setting up a software development team is not like ordering an Uber. If a software project is small and can be implemented by a single engineer, there are no issues in hiring a good freelance developer as the responsibility for getting things done is very clear and rests with one person, who is fully accountable for the job. However, when a project involves a team of engineers working together, different and important variables come to play that involve team dynamics. More specifically, a freelance team does not share a common company culture, does not answer to a specific corporate hierarchy, does not necessarily share a common methodology or approach to "getting things done", and does not have a clear escalation point if issues arise. Similarly, a freelance team might face trouble agreeing on a way of monitoring and following-up on a complex multifaceted project, might have issues when it comes time to claim responsibility for a mishap, might not be properly insured, and someone may even "drop the ball." Unfortunately, when these things happen, the freelance site may not be able to adequately compensate for the resulting impact on team capacity, project delay, etc.
Software development outsourcing model:
- PLUS: When we open the options to hiring a dedicated outsourcing firm abroad or offshore, choosing a structured business partner firm becomes competitive –or even less expensive—than hiring freelancers onshore. When hiring a software services company in a developing country, a company can expect to realize price savings in the range of 40 to 100% versus hiring software services with a firm that is local to the US, whether freelance or otherwise.
But hiring a company versus hiring a recently-formed group of freelance engineers comes with many additional benefits. Including the following 5 important advantages:
1. A company provides a clear and distinct corporate culture into which it hires and develops the engineers it deploys for a client.This culture imprints the project with specific behaviors pertaining to leadership and communication skills that can be instrumental to the success of an initiative
2. A company trains its engineers in specific methodological approaches that are coherent across the team, providing a common vocabulary and a minimum training standard that aids project coordination and establishes a minimum benchmark for technical solvency
3. A company feels responsible for minimizing the churn of the engineering team it assigns to a client, and is better able to manage expected or unexpected churn incidents than a sporadic team of freelancers put together by a website--the company can recruit faster, train faster, move resources around to fill a gap in a project, etc. which is harder to do for a group of chosen freelance specialists
4. A company has a clear leadership structure and escalation points should trouble arise, that is hard to mimic under a freelance scenario: because a company has a long-term reputation at stake, a company offers significant insurance and assurance and is willing to go the extra mile if something goes wrong;
5. If a project has a long-term orientation, working with a company can provide more stability to the knowledge base that is developed during the project than working with a group of freelancers (the company can generate processes and procedures to make sure the knowledge base always remains within the deployed team, even if specific resources within the team rotate. This is much harder to arrange within an environment where various freelance engineers interact, as there is no organizing principle above the freelancers that is willing to invest in knowledge perpetuation.
- Minus: As established before, overhead costs make working with an established software development company in a particular geography more expensive than working with freelance developers of comparable seniority in the same geography.
The freelance site claims as an advantage that it is "100% Onshore":
Onshore freelance site:
- Plus: An onshore software services vendor could potentially offer the power of face-to-face communication, so long as it is able to deploy engineers with enough geographical proximity to the client that in-person meetings are possible on a regular basis (and with little to no travel costs). Everything else being equal, it is hard to beat face-to-face interaction!
- Minus: However, the above only works if the onshore team is stationed in the same city or county as the client. With freelance engineers specifically, it is often the case that the team is dispersed, each engineer working from home in his or her own city and state.There is nothing wrong with this arrangement, but the "face-to-face" advantage is hampered by the fact that freelance teams tend to be more spread out, not less, than teams deployed by a specific software services firm (where engineers are usually staffed from a single physical location). All in all, "onshore proximity" is usually limited to sharing a time-zone, and should not be confused with "on-call face-to-face" proximity, which is unusual under a typical freelance scenario arranged through a website.
Software development outsourcing model:
- Plus: If the IT outsourcing firm is nearshore (say, a US client is partnering with an IT firm in Canada or Latin America) remote teams can communicate with the client real-time via Telco or chat or phone, creating an environment where agile (SCRUM) software development can thrive. When it comes to setting up an engineer team, nearshore software development is a competitive alternative to onshore freelance arrangements, both in cost and in time-zone effectiveness.
- Minus: When engaging in software development outsourcing with an offshore firm, time-zone compatibility can become an issue, especially if the time-zone difference is larger than 3 hours, as this generates a bothersome lag in communication that –in our experience— can slow a project down by at least by 30% and make agile (SCRUM) software development close