Outsourced Product Development - An Overview
Outsourced Product Development - An Overview 2 ABSTRACT: Outsourced Product Development (OPD) is a rapidly emerging niche as more product companies consider outsourcing their product engineering work. By partnering with an OPD firm, Individual Software Vendors are able to pay more attention to market analysis, planning, launching and marketing of products. This white paper examines the logic behind outsourcing product development, elaborates on its benefits and discusses the other aspects to be considered when outsourcing product development.
Outsourced Product Development - An Overview 3 Table of Contents Introduction 4 What is Outsourced Product Development? 4 Why Outsource Product Development? 5 How to begin Outsourcing Product Development? 6 Case Studies 8 Summary 9
Outsourced Product Development - An Overview 4 Introduction Outsourcing non-core activities to gain economic advantage has become an essential component of any successful business strategy. However, as an industry matures, what constitutes its core activity undergoes change. For instance, manufacturing was once considered the core competence of many established industries, from automobiles to footwear. Today, organizations have realized that manufacturing does not enable them to differentiate themselves in the market place, and therefore, manufacturing is widely outsourced. Similarly, software product development is considered as a core competence of Independent Software Vendors (ISV) today. However, the global competitive market is gradually changing the core expertise of ISVs from product development to product management. While the mindset that product development is not the core competence of product companies goes against currently established norms, it is becoming a trend that is followed by many successful product companies. This white paper examines the logic behind outsourcing product development, elaborates on its benefits and discusses the other aspects to be considered when outsourcing product development. What is Outsourced Product Development? Outsourced Product Development, as the name implies, is the outsourcing of specific activities or all activities related to the development and maintenance of a product. OPD enables product companies to tap the product-building expertise and global talent pools available with OPD providers. While outsourcing product development may seem conceptually similar to outsourcing the development of software applications, there are significant differences. These differences are primarily in the areas of skill-sets, standards and execution expertise required for product development. Detailing the differences between product and applications development is a topic that requires an independent discussion, but we will attempt here, to put in perspective, the primary differentiators.
Outsourced Product Development - An Overview 5 The major differentiating factors of OPD can be classified into: A. Technology related An application is custom-built" for a single organization or set of users, but a product is "generic" and is built to cater to the demands of a wide variety of users. However, each user needs to be able to use the product in a way that suits him/her. Hence, a product must be customizable, scalable, robust, well architected, and must have a solid framework on which one can build new features. In the generic IT services business, it is enough if the functionality requirements of the application are met. This is not the case when building products. A software product goes through several versions and several languages and as a result, many versions co-exist. If under-the-hood engineering of the product is not strong, maintenance of the product could turn out to be a nightmare. B. People related Building a "well-engineered" product requires a higher level of skills than what it takes to build an application. Typically, customers for application development look at and test the screens of the application to know whether it works. Whereas, product customers look into the code base to see how it meets the attributes of scalability, robustness, customizability and architecture adherence. Hence, the engineers working on product development need to have a much higher level of skills when compared to application developers. C. Process related In an applications scenario, good documentation, proper configuration management, strict adherence to the design, architecture and coding standards are important, but not mandatory. In software product development, this discipline is "mission-critical", to say the least. How else can a software product be packaged differently to address different needs of the market or scale between a 10-user installation and a 10,000-user installation? Due to the significant differences outlined above, outsourcing product development is not the same as outsourcing the development of software applications and both require different approaches. Why Outsource Product Development? With the software market becoming more competitive and mature, product companies are under immense pressure to periodically release new versions in the market. In a global competitive market, ISV's efforts to achieve better time-to-market is challenged by:
Outsourced Product Development - An Overview 6 Shorter product life cycles Technological obsolescence Rapid advances in design and engineering technologies, and Increasing design and engineering complexity Moreover, product development is an intensive activity that requires a lot of attention. If top management's attention is spent on the in-depth details of product development, then market analysis and marketing activities that directly impact the success of the company will not get top priority. In the long run, this will affect the profitability of the company. If a product company is able to crash its product roadmap and release new versions earlier than planned, it could gain significantly in terms of market share and revenues. However, budgets for product development are fixed and resources are finite. So, the only way ISVs can crash their product roadmap and release newer versions faster is to outsource product development activities to an OPD provider. By outsourcing product development, companies are able to: Acquire expertise Build additional resources Minimize development costs Crash product roadmaps, and above all Boost bottom lines by focusing on new competencies. How to begin outsourcing product development? Product development is still viewed as a core competence of ISVs and any effort at outsourcing this activity is likely to face some resistance. Moreover, questions relating to IP security are at the heart of any outsourcing decisions. Consequently, a step-by-step approach is the best-recommended course of action to begin outsourcing product development.
Outsourced Product Development - An Overview 7 Peripheral Development Co-Development OPD - EMERGING MODELS Modular Development Full fledged Development There are many activities involved in a typical product lifecycle, including product development, product reengineering and migration, product maintenance, product implementation, and product testing. A product company can outsource one or more of these activities to start with or it can outsource the entire gamut of activities related to a particular product. Larger product companies can begin with outsourcing just one or two of these activities. Once they feel confident with the delivery capabilities of their OPD partner, they could expand the relationship further. Startup companies, on the other hand, will be more open to outsourcing all the above activities, so that they can focus their energies on defining and marketing the product, as opposed to building an engineering team. Emerging Models of Product Development Peripheral Development: In this model, ISVs outsource certain activities of the product lifecycle, such as testing, documentation or product implementation, but not the core development activity itself. This helps ISVs gain comfort with the OPD provider's capabilities and also educates the provider on the specialized domain knowledge related to the product. One key advantage of this model is that the source code of the product does not have to be shared to begin working together. Modular Development: In this model, ISVs outsource the development of bits and pieces of the product, which are primarily considered non-core. Product integration skills to put together these modules become a key aspect for both the ISV and the OPD provider. Co-Development: This is a model where the ISV's and the OPD provider's team work in a coordinated manner to develop the product. The OPD provider's team is considered an extension of the ISV's team and has all the rights and privileges to work on the code base. Full Fledged Development: The OPD provider takes complete responsibility for one or more of the ISV's products. This helps the ISV focus on ideating next-generation products.
Outsourced Product Development - An Overview 8 Case Studies The following case studies illustrate how product companies at different levels are moving up the value curve by tapping the OPD model. Case Study I An e-procurement software provider for the pharmaceutical and higher education markets wanted to find ways to speed up their product development efforts. With this objective, they outsourced the creation of one module on a trial basis to an OPD provider. When this assignment proved successful, the ISV rapidly ramped up the team with the OPD provider to 20 people, with most of them operating at an offshore location to take advantage of the cost differentials. The ISV's team and the outsourced team worked in a "co-development" model, sharing the development work on the 10-12 modules that were required for every release. The long-term relationship with the OPD provider has existed for over 3 years and has helped the ISV: - Release 3-4 versions of their product every year (on a hosted model) - Crash the product roadmap and include features earlier than planned, leading to faster customer acquisition- Focus more on product management, as opposed to dealing with the overheads of managing a team - Achieve higher R&D productivity for every development dollar spent Case Study II A startup ISV had a vision to change the way the organic food markets operate in the US. Through an innovative software solution, they wanted to increase the reach and reduce the cost of organic food products in the US. As a strategy, the ISV decided to outsource the complete product development effort to an OPD provider and focus on the product vision, product management and customer development. This decision was taken primarily because the entrepreneur behind this venture clearly recognized that partnering with a company that already has product development experience would be a faster and less expensive way to build the product, as opposed to building an engineering team in-house. The product, which has gone through several iterations and beta releases, is currently being scaled up to a large volume of users. The first version of the product has been developed at a cost of around $500,000, while it would have taken more than four times this amount if the
Outsourced Product Development - An Overview 9 development had been done fully in-house. The cost savings were partly due to the ability of the provider to tap lower cost development locations. The companies continue to work together on future releases to enhance the core product functionality and build additional features that can open up new revenue streams. Case Study III A leading mainframe integration software provider wanted to automate testing of the various database drivers they had created. While the drivers had been created over many years by a highly skilled team of mainframe engineers, an adequate testing process was not in place and it took 3 weeks to do just one round of "ad-hoc" testing of the drivers in different environments. To solve this problem, the ISV decided to work with an OPD provider with whom they could potentially scale the relationship into core development as well. The testing engagement served as an entry point for the OPD provider to understand the technology and also for the ISV to develop a level of comfort with the provider. After more than a year of intensive test-automation effort with WinRunner, a complete and comprehensive test cycle on the drivers now takes just 2 days. The ISV has started tapping some development services from the OPD provider as well, moving the relationship to a different sphere. Summary OPD, as a business model, has gained acceptance as an extended development option for product companies. It represents a relatively low-risk, high benefit opportunity for product companies, but careful planning and monitoring of the relationship with the OPD provider at all stages is a must. However, ISVs that see OPD as a short-term cost-cutting opportunity may get disappointed with the results. To derive true business benefits, they must make OPD an integral element of their overall business strategy. www.aspiresys.com Aspire Systems India Private Limited Plot No 1/D-1, SIPCOT IT PARK, Siruseri, Tamil Nadu - 603 103 Tel : +91-44-67404000. Fax: +91-44-67404234 e-mail : info-india@aspiresys.com