Globalization of Software Development Global
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.