Global software development continues to be a disruptive innovation that is re-ordering every facet of the software industry and its value chain. From high-end enterprise software development of applications used within Fortune 1,000 corporations to the reliance start-up firms throughout the Silicon Valley and elsewhere have on Indian outsourcing firms for rapid prototyping, the globalization of software development is accelerating. Best practices in these areas is often defined by the adoption of quality management and compliance frameworks by both the outsourcer and client organization. Total Quality Management (TQM) and Six Sigma frameworks and methodologies are often used for ensuring application requirements are equally understood and implemented (DCosta, 2002). Software outsourcing is also growing exponentially due to its use for streamlining out-of-date applications that need to be updated to support current and future generation information systems needs of companies relying on them. The shift from Information Technologies (IT) departments attempting to do all development internally to having outsourcers handle the programming, quality testing and release is exponentially growing due to the time savings and potential to gain external expertise quickly and at a reasonable cost (Dey, Fan, Zhang, 2010). The option for many IT organizations choose to pursue is select an outsourcing partner who has the needed expertise needed for next-generation applications. This strategy is very dominant in enterprise software especially, as the recruitment and retention costs of experts in a given area would be exponentially more expensive than working with the outsourcer (Hanna, Daim, 2009). There is also the issue of time-to-value and the critical role that time management plays in managing enterprise applications. There is often literally not enough resources or time for a given enterprise to plan, code, test and launch complex enterprise applications. In many industries these constraints of time, cost and the urgency to focus only on the core business are becoming so great that outsourcing application software development is often the only viable alternative to keeping an enterprise in step with the many competitive demands placed on it over time. For all of these benefits however there are just as many disadvantages and hidden costs of outsourcing software development. The intent of this analysis is to provide the best practices ascertained from an extensive literature review and continued study of this rapidly changing area of the IT industry.
Globalization of Software Development
Global software development continues to be a disruptive innovation that is re-ordering every facet of the software industry and its value chain. From high-end enterprise software development of applications used within Fortune 1,000 corporations to the reliance start-up firms throughout the Silicon Valley and elsewhere have on Indian outsourcing firms for rapid prototyping, the globalization of software development is accelerating. Best practices in these areas is often defined by the adoption of quality management and compliance frameworks by both the outsourcer and client organization. Total Quality Management (TQM) and Six Sigma frameworks and methodologies are often used for ensuring application requirements are equally understood and implemented (DCosta, 2002). Software outsourcing is also growing exponentially due to its use for streamlining out-of-date applications that need to be updated to support current and future generation information systems needs of companies relying on them. The shift from Information Technologies (it) departments attempting to do all development internally to having outsourcers handle the programming, quality testing and release is exponentially growing due to the time savings and potential to gain external expertise quickly and at a reasonable cost (Dey, Fan, Zhang, 2010). The option for many it organizations choose to pursue is select an outsourcing partner who has the needed expertise needed for next-generation applications. This strategy is very dominant in enterprise software especially, as the recruitment and retention costs of experts in a given area would be exponentially more expensive than working with the outsourcer (Hanna, Daim, 2009). There is also the issue of time-to-value and the critical role that time management plays in managing enterprise applications. There is often literally not enough resources or time for a given enterprise to plan, code, test and launch complex enterprise applications. In many industries these constraints of time, cost and the urgency to focus only on the core business are becoming so great that outsourcing application software development is often the only viable alternative to keeping an enterprise in step with the many competitive demands placed on it over time. For all of these benefits however there are just as many disadvantages and hidden costs of outsourcing software development. The intent of this analysis is to provide the best practices ascertained from an extensive literature review and continued study of this rapidly changing area of the it industry. These factors combined are the framework that GlobShop, a global travel-retail company defined in a specific case analyzed in the course, must also contend with. For GlobShop the outsourcing framework centers on scalability and growth of their business while also reducing costs. The senior management team concentrates on cost reduction yet fears losing control of their supply chain in the process. What GlobShop needs to recognize is that outsourcing needs to be used as a means to create greater value in their business, and stop using it purely as a means of cost reduction. The best practices as defined by the research completed for this paper further underscore the change in strategy that GlobShop needs to undertake. Instead of focusing purely on cost reduction or measuring outsourcing success by efficiency alone, the focus needs to be on how to create more value-add to their business through outsourcing. The shift in perspective to value add contributions need to pervade it strategies so the entire company can benefit and not just it alone. Outsourcing needs to become strategic at GlobShop in order to excel.
Global Best Practices in Outsourcing Software Development
The most common misperception regarding outsourcing software development is that it is costs or headcount related. Based on the literature review completed, ironically the majority of studies show companies who embark on software outsourcing for this motivation fail more than they succeed (Jones, 1994) (Khan, Niazi, Ahmad, 2011) (Oza, Hall, Austen, Grey, 2006). Cost reduction through outsourcing software development in fact turns out to be exactly the opposite motivation that those companies attaining best practices in this area of outsourcing attain. The path that GlobShop has taken tends to reflect worst practices instead of best practices however. They are typical of the type of it cost reduction mentality that drives outsourcing to deliver mediocre results at best. Instead of concentrating on these more tactical requirements of outsourcing, GlobShop needs to consider how their outsourcing partner can be more strategic and focused on longer-term results. They need to see the role of the outsourcer as a strategic partner for bringing much-needed change to their business model at a very systemic, basic level.
The most successful companies are choosing outsourcing to gain the critical insight and intelligence needed to design their next generation of applications quickly and at a lower cost than it would cost for hiring the experts in their native country and investing in their education. The accumulated experience of outsourcing providers in such critical areas as Enterprise Resource Planning (ERP), Web Services, and Service Oriented Architecture (SOA) platform development surpass many of the levels of expertise in even the most advanced it organizations in the Fortune 500 companies operating globally today. GlobShop would do well to recognize that expertise in those core systems areas can accelerate them to their strategic goals and that outsourcing is not just for cost reduction. This first best practice of software outsourcing acknowledges there is a steep learning curve in any new technology area, exacerbated by the complexities of enterprise, Web-based and legacy system integration technologies (Upadhya, 2009). For any corporation to attempt to traverse the learning curve on their own, other projects would have to slip or be discounted given the limited budgets and programming staff available (Wan, Wan, Zhang, 2010). Choosing outsourcing to gain needed internal expertise quickly is a best practice that was perfected during the Y2K and Sarbanes-Oxley Act (SOX) as Infosys at one point during their 2003 fiscal year conference call remarked than one of every three dollars they earned in that fiscal year was a direct result of their SOX expertise, which was and is in high demand by all publically-held corporations in the U.S. who must comply with this law concerning reporting (Tiwana, 2004). When CIOs and CEOs have been interviewed with regard to their decision to outsourcing SOX compliance work, their comments all resonate with a comparable focus on their current core business needing as much focus as they possibly can afford, from both a time and people-based constraint approach. Being able to outsource the significant tasks involved with re-ordering their it systems and processes to be in compliance with the SOX standards as maintained by the U.S. government freed up these companies to continue building their core businesses stronger in the midst of a recessionary climate at that time (Upadhya, 2009). Many CIOs and CEOs also mention in surveys that during this period they also chose to take advantage of the business process re-engineering expertise in Indian outsourcers and re-order core business processes surrounding their logistics and supply chain processes (Verner, 2007). This strategy also freed up critical resources needed for re-aligning it system to the rapidly evolving new business strategies throughout their companies at the same time (Siakas, Siakas, 2008). Outsourcing software in the context of this business process was a means to access exceptional levels of talent very quickly without having to incur the cost of training time and high salaries for a strategically critically important, yet relatively short-term need. All of these benefits however are lost on GlobShop as their focus continues on pure efficiency and not strategic contribution. GlobShop could use the outsourcing alliances they have to better understand how the many systems they are using today could be consolidated to deliver greater overall performance of transactions, yielding a much more positive customer experience in the process.
The impact of outsourcing effectiveness on customer experience management (CEM) systems is an area of nascent research today for example. Integrating CEM workflows into an overarching outsourcing strategy has the potential to deliver significant profitability gains over time. Additional research is required to define the causality and correlation of outsourcing accumulated experience and the ability to create greater levels of information maturity throughout an organization. It is evident from the aggregated data collected as part of this analysis that a maturity model exists across organizations attaining the highest levels of overall performance with outsourcing strategies. This dynamic is also evident in how GlobShop is managing their existing alliances with outsourcing providers and the limited success they are experiencing overall. What emerges is the following proposed Outsourcing Maturity Model, shown in Figure 1.
Figure 1: Proposed Outsourcing Maturity Model
At the highest levels of efficiency in outsourcing, partners and clients are orchestrating process performance while information maturity allows for much greater levels of knowledge-sharing and transaction velocities in the case of transaction systems. In the case of outsourcing providers that are concentrating on single-tier-based organizational structures, the role of collaboration becomes more apparent with data sharing across the closest influencers to an organizations' performance. Anticipating and Reacting are the levels of the proposed maturity model where the majority of companies are, including GlobShop, who are uncertain about just how to get beyond using outsourcing as a strategy fo cost reduction alone.
There are several reasons why this model is particularly relevant for outsourcing relationship maturity. First, at the lowest level of the model the focus is on purely reacting, which is exactly what many companies do when they are stressed with cost over-runs and needing to make a greater level of profitable performance happen in a very short period of time. Pan iced, companies will often resource to outsourcing and actually make their entire companies run even worse than before. Paradoxically, if a company takes the perspective on outsourcing that it is so driven by the urgent need to cut costs that they don't see the impacts of overall performance possible, eventually they will continue to churn in the lower levels of the model. Conversely, those organizations who see their role as being that of creating strategic alliances with outsourcing partners, their businesses excel and thrive given the high level of collaboration achieved. It is all a matter of how organizations choose to partner with outsourcing providers, and whether they see the relationships as strategic or not.
How companies traverse this maturity model and gain a foothold on the higher-end of it is also a cautionary tale from the Globus case study as well, as they are showing how to churn at the bottom levels. What companies must do is create enough itnerproess integration links, shared outcomes results and high level of task ownership overall to drive the development of entirely new ways for the outsourcing provider and client to deliver value. It must be a core focus of how to bring value to the shared customers of the outsourcing provider and the customer that pervades all activity. Without this, the entire outsourcing relationship will fail. Trust is the catalyst that propels companies to the top of this model and effective communication strategies keep them there. In effect for a company to attain the highest level on this model they will have to integrate their outsourcing partner directly into their value chain.
Examples of these types of scenarios including Y2K, SOX compliance and others illustrate why global software development is growing so rapidly. Another aspect of this first best practice is important to note as well. While traditional pure-play software outsourcing companies exist, the ones capable of being able to literally deliver results within weeks of a project starting also have extensive Business process Management (BPM) and Business Process Re-engineering (BPR) expertise (Ren, Ngai, Cho, 2011). The combination of software development and process engineering expertise are two of the more powerful catalysts that proceeded Infosys, HCL and other Indian outsourcers into multiple billions of dollars in revenue since their inception.
A second best practice is the selective outsourcing of software projects and tasks that are relatively easily duplicated and easily managed through TQM and Six Sigma frameworks. This is often the case with start-up companies who want to put their best software engineers on the most difficult and differentiating aspects of their software applications (Oza, Hall, Austen, Grey, 2006). This approach fees up these highly paid software engineers to find greater differentiation for their companies in the coding and development of the central areas of their applications. Companies including Microsoft, Oracle, SAP and do this routinely to allow large-scale projects to move ahead more rapidly (Oza, Hall, 2005). This practice is also pervasive for the thousands of enterprise applications developed every year by large-scale enterprises including Fortune 1,000 companies who typically build their own internal applications rather than purchase them from enterprise software vendors. This approach to outsourcing smaller segments of a broader enterprise application drastically reduces the time it takes to write the entire application, assures a higher level of quality management on each specific module as they are managed to Six Sigma quality levels, and also reduces the cost of the overall development project. Enterprise software research firm and consultancy Gartner estimates that up to 19% of development costs and over 10% of development time in a large-scale enterprise software project can be saved using this approach (Khan, Niazi, Ahmad, 2011) . The reliance on this approach has had a cumulative effect of reducing project delays by at least 25% in one case and has also greatly streamlined the development cycles of more complex enterprise system platform (Khan, Niazi, Ahmad, 2011). A third best practice is the deliberate decision on the part of many enterprise software vendors and Fortune 1,000 companies both to rely more on outsourcing for any aspect of software development that did not have a direct strategic benefit to their firms. This mindset pervades many of the freight forwarding companies and those business models that must invest all available resources in the continual development of process optimization technologies including constraint-based modeling to ensure their vehicles deliver the highest levels of profit possible. Companies who exhibit this best practice of software outsourcing have very specific needs and requirements of their business model from a computational and constraint-based standpoint; the skills sets that make these aspects of their business model work are not easily replaced. Instead of marginalizing these resources, companies as diverse as FedEx, UPS and ship forwarding companies including SRI International Logistics will often outsource large blocks of component-based code to outsourcers globally to complete. Core programmers concentrate on the rules-based and constraint models that optimize profitability by delivery channel and vehicle. The reliance on outsourcing in companies with advanced technologies as a core part of their business model is pervasive.
Relying on TQM and Six Sigma frameworks to ensure a high level of software quality is what many of these companies rely on to ensure the code delivered will be usable and immediately integrate into their broader platforms. This is also true of many of the Fortune 1,000 companies who don't have the resources to invest in smaller code updates or module extensions to their core applications. Instead of bringing on programmers and coders just for these functions, outsourcing them significantly streamlines the overall system development process. These modules are also designed to a specific series of Application Programmer Interface API) protocols and requirements, further ensuring their compatibility with existing code base (DCosta, 2002). This type of scenario is often completed through a virtual team structure with members of each development group rarely if ever seeing each other in person. According to the best practices research completed, this approach is also the one that is best suited to managing module development through virtual cross-functional teams using online collaboration and communication tools. For HCL, Infosys and others, projects like this are often the greatest profit-makers for their core software outsourcing businesses (Dey, Fan, Zhang, 2010).
A fourth best practice in global software development is rapidly emerging as a result of the exponential increase in demand for entirely new platform-based applications in smartphones and tablet PCs. The growth in outsourcing for the development of Apple iOS and Google Android-based applications continues to escalate as both enterprise software vendors anxious to move into this emerging market and Fortune 1.000 companies see to automate their sales forces. Apple continues to dominate in this market due to the iPhone and iPad adoption rate and pace of new product introductions. Outsourcing the development of applications on new platforms is another best practice both enterprise software vendors and Fortune 1,000 companies are relying on to stay competitive in their core markets. The intensity and pace of competitive rivalry is acute in these markets as well. Using the Porter Five Forces Model, the Smartphone industry is analyzed in Figure 2.
Figure 2: Five Forces Model of the Smartphone Market
Sources: (Porter, 208) (Apple Investor Relations, 2012)
Advantages and Disadvantages of Global Software Development
As can be seen from the best practices in this analysis there are many advantages to outsourcing global software development, and many potential costs and disadvantages as well. The intent of this section of the study is to define what the top advantages and disadvantages are pertaining to the globalization of software development. From the best practices research completed, the main advantages include the following:
Greater access to expertise and intelligence regarding software development and advancing process re-engineering techniques. This is the most common advantage cited by those companies attaining best practices in global software development through outsourcing. This strategy is also critically important for creating more time and focus on the core business models both of enterprise software companies and many of the Fortune 1,000 companies who routinely rely on software outsourcing partners for specific, highly complex projects (DCosta, 2002). The overriding motivation in this scenario is to gain rapid access to deep expertise in a given area of software development and quickly turn around a project that is strategically important to the software vendor or larger enterprise. This advantage is also often supported by thoroughly defined quality and compliance metrics for the project plan, including TQM and Six Sigma metrics as well (Dey, Fan, Zhang, 2010). All of these factors are coordinated and designed to support visibility into the project's status in real-time to ensure performance to deadlines and quality standards.
Offload software maintenance and module development so core programming teams can focus online-of-business application development. This strategy is one that generates the majority of revenue at Indian outsourcing. The majority of businesses undertaking this global software development strategy do so in order to free up their software developers and programmers for projects that are core to the business. Offloading software maintenance and modules development is also often managed to a precise series of metrics and Key Performance Indicators (KPIs) often based on Six Sigma methodologies to ensure tight alignment to specific needs and requirements of the overall project. The majority of this type of global software development is done through virtual teams and the extensive use of Internet-based technologies including virtual conference rooms and collaboration work areas online. Using social-media-enabled platforms that allow for real-time communication are also prevalent for this type of outsourced software development as they allow for real-time communication (Khan, Niazi, Ahmad, 2011). Examples of this include Salesforce.com's Chatter software application used in the context of application development, and the widespread use of collaboration applications that resemble Facebook in structure and appearance. These online communication and collaboration platforms are pervasively used in the majority of outsourced global software development projects so there is a history of the ongoing dialogue on the project shown online as well.
Improve the level of service and support on core products while relying on global software development partners to provide ongoing support or ancillary software applications. An example of this is how Oracle relies on their core programming team for ongoing support for their Oracle 11i databases with programming and services teams in Redwood City, California and their legacy CRM systems are supported in India by HCL, Infosys and others (Oza, Hall, Austen, Grey, 2006). The legacy CRM applications require little new feature or application development and require services-based product fixes to ensure continued compatibility to the latest UNIX and Microsoft Windows Server products. Oracle has chosen to outsource the maintenance functions of their legacy CRM applications so their current customers on 11i and the latest application suites get the best service possible. This strategy has resulted in Oracle being successful in charging up to 22% a year for maintenance alone for its most recently launched products, which is above average. Oracle cites the availability of programming and software engineering talent being immediately available on current suites of applications as a key success factor in this success. The company has also stated that by using global software development strategies they have successfully created entirely new platforms for maintenance revenue, often purchasing innovations in existing product designs originating with outsourcing partners and incorporating them into their mainstream products. These innovations were only possible with the development of new solutions through highly interactive design and development sessions held entirely online. The use of development portal technologies has further accelerated these innovations in legacy products, as both global outsourcing partners and their clients can brainstorm and create entirely new series of product line extensions and new product ideas over time.
You’re 84% through this paper. Sign up to read the full paper.
Sign Up Now — Instant Access Already a member? Log inAlways verify citation format against your institution’s current style guide requirements.