In Software Outsourcing, Nearshore Beats Offshore!
Insights about using Agile methodologies and outsourcing.By Mark Looi and Marc Szepan (University of Oxford).
Summary
Companies use two popular strategies to develop software: outsourcing to offshore locations and Agile development. These strategies are often used together and assumed to deliver similar results to that of software development teams working in the same company at a single location. But our research finds that these are poor assumptions and managers must make significant accommodations to achieve optimal results.
Nearshore development is preferred for overall success, quality, reduced management effort, maintaining schedule, higher quality, and fewer communication problems. On the other hand, Agile development methodologies for outsourced offshore projects appear to cost more. In fact, managers should favor nearshore for communication-intensive projects, and primarily consider structured (i.e., non-Agile) development for projects that are either developed far-offshore or whose requirements are well-understood. Regardless, managers should modify Agile for far-offshore software development and look to shorten supply chains.
This article is adapted from research conducted by Looi and Szepan in 2018. (Looi 2021)
Introduction
Offshore software development has been used by managers for several decades to gain the strategic advantages of lower costs, access to more readily available skills, and local market expertise. Beginning with outsourcing of lower value software, offshoring has grown in scope and scale, threatening to hollow out the skills base of many successful companies. By outsourcing to third parties operating offshore, it has never been easier for companies to initiate and then scale up their development work. To do so, software development teams are often composed of both insourced and outsourced resources, either of which can operate onshore or offshore. Today, as in manufacturing, software engineering supply chains circle the globe to feed the rising demand for more software, which though increasing complex, must be produced faster. Boeing’s 737 Max crisis was laid at the feet of outsourcing software development to “$9-an-hour engineers” in India (Robison, 2019). Indeed, outsourced offshore locations for software development have been spun up by spreading work across multiple time zones and geographies, without much regard for the resulting impact on productivity, quality, team morale and long-term sustainability.
As the offshoring paradigm took hold and more locations for software development were brought online, nearshore software development emerged as a variant. But managers were immediately confronted with the problem of how and when to use nearshore versus offshore. If offshore was good, could nearshore be even better? Or were there projects that could be done optimally with one approach but not the other? What were the tradeoffs? What were the best practices? The rise of regional hubs and the desire to shorten supply chains (owing to trade wars and other geopolitical pressures) has underscored the merits of nearshore (Economist, 2019). Compounding the complexity for managers was the rapid shift to Agile software development methodologies; what was the impact of offshore and nearshore on Agile and vice versa?
Given the widespread use of geographically distributed software development, we pause to consider how managers should plan and manage such complex supply chains. This article examines the circumstances under which nearshore outsourced software development should be chosen over what we term far-offshore. To address these questions, we look at the origins of far-offshoring and its sibling nearshoring, then consider modern software practices such as Agile, and finally draw conclusions and recommendations based on our research and insights.
The Organizational Challenge of Software Development
Software permeates modern business either in its products or its operations. Firms often use a combination of insourced and outsourced teams, located far-offshore or nearshore to build their software. At the same time, they have been quick to adopt Agile development methodologies, for its perceived efficiency. Yet little consideration is given as to how to best combine the location of workers and the overall organizing development methodology.
These choices could have an impact on outcomes and project success. For instance, nearshore outsourcing of IT software development projects is often presumed to come with higher costs, but also with better team communication compared to far-offshore. Our research shows that nearshore locations tend to result in more successful software projects, but far-offshore has advantages and can be used given certain accommodations.
Software development methodologies fall into two broad camps: Agile and Structured. Agile is an iterative process where specification is kept high-level until work starts, after which intensive, real-time coordination resolves details in an on-going fashion. Structured is a process where software interfaces and features are well-defined in advance, and teams can work independently on system components without the need for constant, real-time interaction. Though less than 20 years old, Agile has become the de facto standard. Such widespread adoption might suggest it is both effective and a determinant of success. Surprisingly, other research has suggested that development methodology has had little or no effect on outcomes for projects delivered by globally distributed teams, whether insourced and outsourced. But, by concentrating on a narrower question, we found that methodology did result in a difference for outsourced-only projects.
For our purposes, nearshore locations are defined to be within a five hours’ time zone of the outsourced firm, though they could be still quite distant geographically or culturally. We define far-offshore locations as farther away in time zone than five hours.
Outsourcing became a strategic choice in the last decade of the 20th century, as managers were urged to concentrate on a firm’s core competencies to reduce distraction from non-core activities. It also offered lower costs through arbitrage and economies of scale. Outsourcing in either of these cases can take place onshore or offshore.
Our research explored two questions: first, the effect of outsourcing location (nearshore versus far-offshore) on project outcomes in software development; second, the effect of development methodology. We avoided the case of insourced or outsourced onsite software development, in order to focus on the more pressing problem managers increasingly face but may lack guidance to navigate. These two management choices (location and methodology) for outsourced software development teams confront managers regularly as companies seek technical expertise and cost savings from their global supply chains. They often are required to combine onsite, insourced resources with offshore or nearshore outsourced resources.
Offshore Software Development: The strategy of offshore software development allows firms to exploit even greater arbitrage effects, especially in labor costs, government support and other factors; but overall cost reduction, access to specialized skills, quality, infrastructure, and flexibility are also important justifications. Traditionally, companies tended to outsource low risk and lower value work, but some have discovered that outsourced offshore software development yields greater cost savings than outsourcing production alone. Still, offshoring is not easy: it requires effective project management, relationship management, and cultural affinity, while still encountering cultural, administrative, geographic and economic (CAGE) distances (Ghemawat, 2001). Managers regularly contend with cultural barriers, poor local project management, national barriers, weak IP protections, and limited technical skills — all too often resulting in poor overall quality.
Nearshore Software Development: Realizing the difficulties engendered by CAGE distances, Indian outsourcing firms were among the first to adapt their strategy to include nearshoring (Javalgi, et al., 2013), where the outsource delivery center is located nearer the client in either time or distance. Nearshore outsourcing locations were chosen primarily for geographic proximity and cultural similarity. Indeed, hubs to serve the mature economies have emerged in the Americas, Central and Eastern Europe, and East Asia (Carmel & Abbott, 2006). Our research found that nearshore development positively affects outcomes such as overall success, quality, schedule, etc., in comparison to far shore offshoring (i.e., far-offshore).
Software Development Methodologies: A Short History
Software development has been a distinct practice since the 1950’s; it tried to adopt the practices of other engineering disciplines. Methodologies arose to guide managers and can range from simple coding standards to systems that span requirements gathering, design, coding, testing, deployment, maintenance and support.
By the 1980’s structured software development methodologies for software development were widely practiced and most firms followed some form of waterfall, spiral model, or other “structured” methodology (DeGrace & Stahl, 1990). These emphasize well-defined processes, extensive feature specifications, detailed architecture and design, planning and project management. Common criticisms of structured approaches were their long project durations, opacity of work-in-progress, and misalignment of delivered features to actual need (Cohen, et al., 2004). Well into the 1990’s, structured development methodology continued to be refined by an industry of gurus who prescribed processes, best practices, standards and other improvements (McConnell, 1996) (Humphrey, 1989) (McCarthy, 1995). Yet, research suggested that non-agile methodologies caused development problems and, worse, that offshore development exacerbated them (Maxwell-Sinclair, 2016).
Agile software development methodologies were a response to these criticisms; popular practices include Scrum, XP, and TDD (Agile Alliance, 2018). Agile approaches tend to emphasize frequent, informal, face-to-face communication among a small team of project members, including non-developers such as end users and product owners (Cohen, et al., 2004). They also emphasize incremental improvement centered around user scenarios, continuous delivery and a view that “working software is the primary measure of progress” (Beck, et al., 2001). Though articulated only in 2001, Agile overthrew the dominance of structured methodologies and, by 2017, 94% of all organizations reporting at least some use (VersionOne, 2017).
Indeed, the benefits and applicability of Agile, especially for team members at the same location, are widely acknowledged. Confoundingly, other research (Estler, et al., 2014) concluded that there is “no significant difference between the outcome of projects following agile processes and structured processes … for globally distributed development.” But, in light of the Agile Manifesto’s insistence on face-to-face meetings, the insignificance of location seems odd. Could it really be that Agile had no impact, whether positive or negative, on any type of offshore development?
Our Findings
Our findings showed that when outsourcing software development, a nearshore location has an effect on success, cost, Project Management (PM) effort, schedule, quality, and communication problems. Additionally, Agile software development seems to increase cost. Our analysis determined that:
- A nearshore location for outsourcing of software development results in desirable improvements in overall success, lower cost, lower Project Management effort, maintaining schedule, higher quality, and fewer communication problems.
- Agile software development results in increased cost.
- Holding Agile methodology constant does not alter nearshore location effects, but it was associated with more negative outcomes already found in far-offshore software development while emphasizing the positive ones.
- As expected, Agile was correlated with greater cost risk but had a stronger effect on far-offshore.
Insights from Managers
Armed with the quantitative data, we interviewed some key managers and learned that a prime motivation for offshore outsourcing was arbitrage, whether of costs, supply of talent, or scalability (e.g., the ability to rapidly add resources). Most managers were favorably disposed to nearshoring. One manager even had a direct comparable: when he began his development work in Paris, France, he had an outsourced nearshore team based in Eastern Europe. Subsequently, he moved his operations to Seattle, USA, thereby transforming the same development team to a far-offshore one. He observed decreased efficiency, increased Project Management effort, and more communication problems, despite the fact that he had worked with this same team for over a year and had a strong rapport with them. Thus, it seems the added stress and overhead of temporal distance is an impediment to success.
Interestingly, managers reported that they found Agile development costs more; some surmised it was because Agile product specification tended to be less precise than Structured; as the Agile development unfolded, new features or other requirements would emerge, often as unbudgeted work. Worse, some work could be discarded. Many noted the increased cost of communication, especially for meetings, often involving the entire team. Lack of experience with Agile was cited as another culprit. Still, the ability to change requirements mid-stream was considered a positive trait because it resulted in a final product that would better meet end-user expectations.
Agile was lauded for its flexibility, transparency, product-market fit, suitability for complex projects, and team engagement; but it requires intensive communication and project management. The importance of training and investing in team alignment around methodologies and processes to mitigate ill effects was noted. Structured methods had their place for well-defined projects.
Interpreting the Findings
Our quantitative results indicate that location is a greater determinant of outcomes than development methodology. Since success is correlated with other outcomes, location affects other outcome-related variables such as cost, PM effort, schedule, quality, and communication problems. These findings are consistent with motivations for outsourced nearshore software development. Agile development methodology, however, appears to influence higher costs.
In prior research and among practicing managers, there has been a focus on outsourcing as a means for managers to concentrate on a firm’s core business, arbitrage costs (both labor and infrastructure), obtain access to talent, and lower the risk arising from hiring relatively expensive employees in mature economies. To the extent that these advantages can be obtained either nearshore or far-offshore, outcomes can be meaningfully improved by preferring nearby locations — i.e., within five hours of the primary development center. Thus, lower costs, higher quality, and timely schedules can be better met with nearshore outsourcing compared to far-offshore.
Development methodology has a statistically significant effect on expected costs, in that budgets are more likely to be exceeded with an Agile methodology. As some interviewees pointed out, this might not be an adverse outcome if the resulting project better meets the needs of the business. That said, some organizations may have strict controls on costs, in which case an Agile approach that could result in higher costs may be unattractive. To the extent that software development projects are well-suited to Structured methods — for instance, if requirements are static or are generally well-known — then an Agile approach could be avoided with no loss.
While development methodology may not be a strong determinant of outcomes, a few highly desired attributes of Agile development, such as intensive communication and project management effort, may be undermined by choice of outsourced location. That is, far-offshore outsourcing seems to be associated with communication problems and less frequent meetings, both of which are quintessentially Agile. So, given management strategies such as nearshore/far-offshore or infrequent meetings/asynchronous communication, the development methodology may be predetermined.
Software development, as an intellectual activity with objective inputs and outputs, seems well-suited for outsourcing — yet is not immune to CAGE distances. Temporal distances can affect outcomes. Obviously, managers seek cost reduction, access to skills, quality, and flexibility. The implication of these findings is that nearshoring can increase the prospect of attaining these outcomes; and, conversely, far-offshoring can decrease the likelihood. In any case, arbitrage strategies must be implemented with accommodations for those combinations of choices that are likely to cause problems. Particular care should be paid to alleviating likely problems in communication.
Similarly, it may seem that a software development methodology can be universally applied; but that doesn’t seem to be the case. Agile methodologies may have reached their limits when applied to far-offshore teams and perhaps even nearshore. As software development becomes more globally distributed amongst insourced and outsourced teams, Agile’s dominance is possibly threatened, perhaps giving way to a new methodology as revolutionary as Agile was in its day.
Practical Implications
With outsourced software development, CAGE distances matter. Our research indicates that nearshore is an adaptation to these distances to alleviate some deleterious effects. By the same token, it suggests that for far-offshore, teams should not try to duplicate the communication practices that are successful when team members are next to each other (e.g., onsite development) or temporally closer.
For managers, the research indicates that they should select their outsourcing locale carefully, favoring nearer locations over farther ones, since locale is a stronger determinant of success (and its related attributes) than methodology. Furthermore, development methodology is not a highly significant determinant of success in outsourced software development — a project can be just as successful with traditional, structured management techniques. In fact, structured development seems to be more effective at keeping costs aligned to budgets. What this means in practice is that managers should not expect Agile methods to be a panacea when applied to outsourced far-offshore or even nearshore projects.
On the other hand, far-offshore development may be successful given the proper accommodations, such as greater use of asynchronous communication and more formal definition of product details. In fact, one experienced manager claimed that some projects, perhaps those of a routine nature or with limited end-user engagement, may be best managed using Structured methodologies and outsourced far-offshore to optimize costs.
Finally, managers may wish to adapt their development methodology to accommodate management choices such as meeting frequency or an intensive use of asynchronous communications. In other words, a strict application of Agile may not always be appropriate. Table 1 summarizes the main findings of interest to software managers regarding the choices of methodology and location.
Table 2 summarizes by methodology and location our recommendations for practitioners. We label the quadrants as Optimal, Specialized, Challenging, and Reliable (OSCR). The Optimal and Reliable quadrants are colored green because the combination of methodology and location are complementary and more likely to yield success. The Specialized and Challenging quadrants are colored amber because accommodations are typically indicated for successful outcomes.
Table 3 adds detail to Table 2 by elaborating further inferences and recommendations based on our experience. Managers can use the table with either development methodology or outsourcing location as a starting point to help determine how to manage their software projects. For example, if as an organization they are committed to Agile and can only work with a far-offshore team, then they should heed some of the recommendations in the Challenging quadrant.
Another way to use Table 3 is to determine what type of software project practitioners are trying to outsource, then match it with the use cases; this would determine the methodology and location. For example, if an organization seeks to duplicate a successful app from one mobile platform to another, it could select the Reliable quadrant and thus perform the work using structured methods far-offshore.
The table’s recommendations aren’t deterministic; it is entirely possible for practitioners to be successful using any quadrant for any use case. But our research shows that there are costs in doing so.
When Nearshore and Far-Offshore Make Sense
Westudied the effects of team location and methodology on outsourcing software development and found that Nearshore has a positive effect on cost, lower Project Management effort, maintaining schedule, higher quality, and fewer communication problems. Agile development methodology, however, appears to influence only higher cost.
For CTO’s or software engineering managers, one useful insight is that if they are constrained to use an Agile methodology for outsourced software development, a preferred location is nearshoring; a second is accommodations to the methodology to improve the likelihood of success. Another useful outcome is that structured development has its place for well-defined projects, particularly if they are done far-offshore. Another insight of value for practitioners is not to be overzealous in the application of Agile; a methodology conceived for onshore-onsite development should be adapted for nearshore and, indeed, must be for far-offshore. In addition, the pursuit of lower costs must be tempered by the challenges that will have to be overcome with far-offshore outsourced software development. Shortening and concentrating the software development supply chain should be a consideration of managers.
In conclusion, we found meaningful advantages to nearshore development, especially for Agile software development. We also uncovered some limitations to Agile, notably in costs. In the end, neither outsourcing nor Agile are panaceas for software development, but must be used together in nuanced, carefully designed ways to achieve good results. Organizations are well advised to be critical in their use of far-offshore outsourced software teams, particularly in combination with Agile development methodologies.
About the Research
Over the past 20 years, the authors have worked with numerous organizations as they grappled with improving their software development, especially as they engaged offshore resources. We observed similar challenges and outcomes in the course of our professional careers. In 2017, the authors began to work together at the University of Oxford to better understand how outsourced software development results could be affected by methodologies and location.
We conducted a survey of highly knowledgeable senior managers or technical specialists in firms that engage in global software development using outsourced, nearshore and far-offshore teams. These managers worked in industries as diverse as consumer services, banking, finance, airlines, technology, marketing, retail, consulting, government and others. Geographically, they hailed from the Americas, Europe, Middle East and Asia. Our research elicited results that are potentially applicable to different industries, geographies, and are somewhat culturally agnostic. To seek underlying motivations and insights about our quantitative results, we also interviewed some of the survey respondents to confirm or add detail to our findings.
Bibliography
Agile Alliance, 2018. Agile Glossary. [Online] Available at: https://www.agilealliance.org/agile101/agile-glossary/ [Accessed 20 01 2018].
Beck, K. et al., 2001. Agile Manifesto. [Online] Available at: http://agilemanifesto.org/ [Accessed 10 01 2018].
Boehm, B., 1988. A spiral model of software development and enhancement. IEEE Computer, 21(5).
Carmel, E. & Abbott, P., 2006. Configurations of Global Software Development: Offshore versus Nearshore. Shanghai, Association of Computing Machinery, pp. 3–7.
Cohen, D., Lindvall, M. & Costa, P., 2004. An Introduction to Agile Methods. ADVANCES IN COMPUTERS, Volume 62.
DeGrace, P. & Stahl, L. H., 1990. Wicked Problems, Righteous Solutions: A Catalogue of Modern Engineering Paradigms. 1st ed. Englewood Cliffs, NJ: Yourdon Press.
Economist, T., 2019. Special Report: Global Supply Chains. [Online] Available at: https://www.economist.com/special-report/2019/07/11/supply-chains-are-undergoing-a-dramatic-transformation [Accessed 17 8 2019].
Estler, H.-C.et al., 2014. Agile vs. structured distributed software development: A case study. Empirical Software Engineering, Volume 19, p. 1197–1224.
Ghemawat, P., 2001. Distance Still Matters The Hard Reality of Global Expansion. Harvard Business Review, September.
Ghemawat, P., 2007. Managing Differences The Central Challenge of Global Strategy. Harvard Business Review, March.
Humphrey, W., 1989. Managing the Software Process. Reading, MA: Addison-Wesley.
Javalgi, R. G., Joseph, W. B., Granot, E. & Gross, A. C., 2013. Strategies for sustaining the edge in offshore outsourcing of services: the case of India. Journal of Business & Industrial Marketing, 28.pp. 475–486.
Lacity, M. C., Khan, S. A. & Yan, A., 2016. Review of the empirical business services sourcing literature: an update and future directions. Journal of Information Technology, Volume 31, pp. 269–328.
Lacity, M. & Hirschheim, R., 1993. THE INFORMATION SYSTEMS OUTSOURCING BANDWAGON. Sloan Management Review, Fall.35(1).
Looi, M. and Szepan, M. (2021). Outsourcing in Global Software Development: Effects of Temporal Location and Methodologies. International Journal of Business and Social Science, [online] 12(3). Available at: https://ijbssnet.com/journals/Vol_12_No_3_March_2021/3.pdf [Accessed 16 Jan. 2022].
Maxwell-Sinclair, N., 2016. An Analysis of In-house and Offshore-outsourced Software Development Projects Utilizing Waterfall versus Agile Methodologies: A Simulation Study. s.l.:Pace University.
McCarthy, J., 1995. Dynamics of Software Development. Redmond, WA: Microsoft Press.
McConnell, S., 1996. Rapid Development: Taming Wild Software Schedules. Redmond, WA : Microsoft Press.
Porter, M. E., 1990. Competitive Advantage of Nations. New York: The Free Press.
Prahalad, C. K. & Hamel, G., 1990. The Core Competence of the Corporation. Harvard Business Review, May/June, 68(3), pp. 79–91.
Pressman, R. S., 2005. Software Engineering: A Practitioner’s Approach. 6th ed. New York: Palgrave Macmillan.
Robison, P., 2019. Boeing’s 737 Max Software Outsourced to $9-an-Hour Engineers. [Online] Available at: https://www.bloomberg.com/news/articles/2019-06-28/boeing-s-737-max-software-outsourced-to-9-an-hour-engineers [Accessed 17 8 2019].
Schwaber, K., 2004. Agile Project Management with Scrum. Redmond, WA: Microsoft Press.
VersionOne, 2017. 11th Annual State of Agile Report, s.l.: s.n.