**For the purposes of this article, we will be referencing the outsourcing and offshoring of software development only.
Within the last two decades, outsourcing has taken the world by storm.
The business strategy took a lot of heat from US citizens during the 2008 recession (6), but this did little for slowing down its implementation globally.
Outsourcing went on to witness a boom in 2012 with 66% of the world’s organizations outsourcing some or all of their business processes from third-party organizations (5).
An entire network, the Offshoring Research Network (ORN), out of the University of Navarra Business school, was even created to study the waves these processes were making throughout industries.
All this being said, the data for offshore outsourcing can be difficult to come by with researchers (1) noting that “there is very little reliable data regarding the number of jobs offshored”.
Before we get started let’s clarify what offshoring means.
The terms offshoring and outsourcing often interchanged with one another.
A multitude of ideological variations have continued to present themselves over the course of the last decade (i.e. back shoring, nearshoring, right-shoring etc.) and more continue to appear.
The terms, however, hold do differ in meaning.
To outsource your work is to hire a third-party business to complete partial or entire segments of your organization’s applications, services, or product development on generally the same shore as your own organization.
For example, Company A decides to partition the development of their latest software product out to Company B, located in Colorado. Rather than developing the application in-house themselves, they outsource to a third-party, software consultancy located somewhere in the United States.
That being said, larger corporations can (and often do) outsource application development off-shore.
This is what is known as offshoring, or in the case of software applications, Offshore Software Development (OSD) (2).
OSD is a software development process where application development is enacted by development teams overseas instead of an in-house team OR third-party organization in the ourcouring companies’ own country.
Essentially, offshoring is a class or variant of outsourcing.
It’s important to keep in mind however that offshoring doesn’t always mean a company moves its application development completely _out-_of-house to a third-party.
A common practice for a larger, multi-national organization is to outsource some or all of a team’s product development to subsidiary development teams overseas but then launch the product on Western shores (3).
This has proven a popular strategy amongst larger corporations because it’s much easier to control patents developed within your own organization over ones developed in part (or full) by third party agencies. (2)
OSD is continuing to evolve and diverge with new processes popping up as a result of it i.e. nearshoring, right-shoring, back-shoring etc.
We estimate that it will continue to change the landscape of software development for many years to come and companies need to be prepared.
Debates regarding the motivations for offshoring have grown in sentiment over the last 10 years (4).
When research into the industry phenomenon began, it was largely understood that one of the key motivations to move application development overseas was the immense cost abatement opportunities it offered Western organizations (4).
The average wage in the US for software engineers with less than 5 yrs experience in 2010 was $52,000 USD. (8)
The average wage in Indian for software engineers with less than 5 yrs experience was around $9,000 USD. (6)
Opinions have since shifted, including the access it provides to highly skilled developers and innovative programming as a second equally weighted reason for moving application development offshore (4).
New Silicon Valleys?
Stephan Manning, author and researcher of New Silicon Valleys or a New Species?: Commoditization of Knowledge Work and the Rise of Knowledge Services Clusters explains the resulting combination of these two business goals; saving money and untapped innovation has resulted in a phenomenon called KSCs.
Knowledge Service Clusters (KSCs) are regional networks of organizations throughout developing countries emerging as a result of a growing global demand for advanced technological knowledge at low-assembly costs (4).
Manning states that “KSCs are likely to develop around technical universities producing young technical and analytical talent on a regular basis” (4).
He emphasizes ‘“Bangalore; The New Silicon Valley of India” (4) as an example of this.
Since the article was released in 2013, Magellan Solutions notes that India has gone on to garner software development interest from some of the world’s biggest tech leaders such as Microsoft, Cisco, Oracle, Dell, and IBM.
Computer Economics says that India-based service providers also proved to manage more than $150 billion in IT and business process outsourcing services in 2019 alone.
It’s hard to argue that these burgeoning knowledge clusters aren’t coming up to compete with the likes of the software industry within San Fransisco Bay. The rate with which they’re surfacing and the particular knowledge sector they’re appearing for replicate California’s ever-illustrious, ever-sacrosanct Silicon Valley in both method and manner.
The idea, however, has opposition.
Researchers Norlander and Kannan-Narasimhan argue that the high-quality code being provided is not a result of having access to a pool of highly skilled developers or untapped innovation, but rather a result of a fourth wave industrial revolution that is occurring in the world of programming right now.
They claim that code is being “commoditized (1)” to make it possible for lower-level or less-experienced developers to produce features and applications for companies at qualities of a senior, more experienced developer.
The Director of a large Indian Offshoring company from their study explains:
“ [We have an] automated, factory approach, the same thing as an assembly line. And that is increasing quality and delivery. … I mean why is it that they [software development projects] go wrong so many times? It is because they are not focused on engineering, they are focused on individuals who are brilliant in doing coding. But here it has become a science of engineering. Engineering makes it much more predictable, maybe removes the fun, but it becomes much more predictable” (1).
The researchers equivalent the nature of these processes to “a master craft worker making all the decisions, and then parcelling out simple and well-specified tasks to a variety of low skilled helpers” (1).
Researchers far and wide agree that this factory-style approach has become possible as a result of the immense technological advancements Information Communication Technology (ICT) has witnessed over the past two decades.
Video conferencing, proprietary business communication platforms, and screen sharing technologies, to name a few, provide companies with the ability to have work completed in dispersed and geographically fragmented teams.
However, the communication needs of OSD teams present a unique niche of requirements that can prove difficult when working across large distances.
Issues like “slow networks” (2), “environment duplication” (2), and the absence of “pair programming” (2) all stand as barriers to efficient and cost-effective OSD.
While one can argue that “designing software invariably has some division of labour (separate pieces of code can be written in different places), [designing software] also has an integration and coordination dimension, (the codes have to be combined together to create a program that works, and this process of integration often reveals bugs)” (1).
Adding fuel to the fire, these challenges exist on top of everyday challenges that come with any kind of offshore product development such as “team coordination” (2), “cultural differences”(2), “scheduling”(2), and lack of “ad-hoc knowledge”(2).
Many of these challenges are simply a result of not being able to be together in person and stand as many of the reasons why companies are looking to backshore (begin the process of moving offshored processes back in-house) their application development.
However, more and more ICT tools are being designed and released every day to overcome these technological hurdles.
Singh and Singh explain that “face-to-face mechanisms must be replaced with some kind of server set aside for common file storage, a web-based collaboration and a private instant messenger service. Typically, the web-based collaboration must involve discussion forums and some form of project planning and tracking tool” (2) They note Jira and Scrum as examples.
The researchers also say that “Product Lifecycle Management (PLM) tools… provide real-time visibility throughout the development process” on top of the already essential communication “technologies such as telephone, video conferencing, or electronic mail” (2).
Furthermore, the factory style programming occurring in the KSCs of the developing world “can be applied to provide generic, rather than product or industry-specific business services to a range of client firms across industries (Sako, 2006)” (2).
This effectively helps minimize human error conceived as a result of isolation while coding.
Challenges aside, OSD is proving to be an effective model for modern-day software development, especially when paired with Agile Software Development (ASD) processes.
ASD on its own has proven to be “ten times more productive than traditional development models and this has been achieved in the co-located teams” (2).
When ASD is enacted by dispersed teams in different time zones, companies can essentially have “ hands-on the codebase during the entire day” (2).
When combined with the iterative and already time and cost prudent nature of ASD, “around the clock development” (2) makes Offshore ASD a highly appealing option for organizations looking to cut costs or simply, build more products and do so quickly.
But what does all of this mean for the software engineers of today? And what will it mean for the software engineers of tomorrow?
Researchers (1) note that the reality is “high-skill, high-wage work, like most jobs, can be offshored and are being offshored”.
The commoditization that code is currently undergoing makes this reality even more palpable as it eliminates particular knowledge prerequisites that have previously been needed for building ready-to-market software products.
Instead, KSC software houses are replacing them with a well-oiled, mecha-production-system.
However, researchers (1) theorize that the choice to offshore particular roles in the future will be based mainly on the amount of communication and strategy that needs to be enacted by the role throughout the project lifecycle.
Norlander and Kannan-Narasimhan explain:
“Creative/prototyping more will be done here [in the U.S.]. The reason it will be done here is because user groups will test things, product managers will back to engineering and it will be an iterative design process that requires lots of interactions and answers to questions. It is difficult to send this offshore wait for 12 hours before getting a response due to time zone difference”.
Norlander and Kannan-Narasimhan also theorize that “the higher the interdependence and complexity [of a task], the less likely is the possibility that these tasks can be successfully offshored”.
1) Norlander, P., Erickson, C., S. K., & Kannan-Narasimhan, R. (2015, January). [Pdf]. E-Journal of International and Comparative LABOUR STUDIES.
2) Singh, P., & Singh, S. K., Dr. (2015). Offshore agile methodologies in software engineering: A study. Retrieved October 03, 2020, from https://www.academia.edu/10246818/Offshore_Agile_methodologies_in_Software_Engineering_A_Study
3) Tang, J., & Assche, A. V. (2017). Multinationals and Offshoring: Firm-Level Evidence from Canada [PDF]. UTPJournals , Retrieved October 03, 2020 from https://www.utpjournals.press/doi/pdf/10.3138/cpp.2016-069
4) Stephan, M. (2013). New Silicon Valleys or a new species? Commoditization of knowledge work and the rise of knowledge services clusters [Pdf]. Research Policy.