The recent sharp downturn in the economy is forcing independent software vendors to reconsider their approach towards product engineering. In light of the new business realities, companies are forced to consider how they can reduce their R&D budget, or get higher return on the same or incremental investments. However, it is becoming increasingly important for ISVs to enhance customer loyalty and reduce support cost! ISVs are realizing that one way to achieve this is by improving the quality of the product without increasing the cost of quality. Consequently, ISVs are actively considering outsourcing non-core functions like testing to cut costs quickly, avoid new capital investment, and improve product quality.
Why Outsource Product Testing
Testing is a vital phase in any product development initiative. Frequently changing requirements coupled with a reduced product development life cycle has increased the pressure on testing teams to do more at less. They face time crunch as well as resource crunch. A survey conducted by the National Institute of Standards and Technology (NIST) has found that US companies spend as much as $60 billion on fixing software defects at the post-release stage. This study also reveals that third party QA & Testing could have saved companies nearly $20 billion. The direct cost of quality in terms of staff time by itself is a compelling reason for considering QA & Testing outsourcing model. Though it is difficult to measure, the loss of revenue in terms of repeat business, due to unhappy customers, is also significant. A well structured outsourcing model can help ISVs reduce cost (by using less expensive resources) and increase the quality of the product, which ultimately results in satisfied customers. Migrating to an outsourced product testing model, where the onus of product quality is shared with the participating testing company, will give product companies a competitive advantage in the marketplace.
Current Situation – However, as per a Forrester report published in 2008, despite the enormous potential benefits of outsourcing, not many organizations currently outsource their testing activities. According to a survey of IT leaders, only 16% of organizations outsource software testing while 16% expect to outsource to a third party in the next 12 months. Though another 29% were considering using a third party for this service, a substantial 39% were not in favour of using this service. While this is one side of the story, the outsourced testing market is actually experiencing a rapid growth, and according to the same Forrester report, outsourced testing services is growing at 50% annually or higher. There is a growing awareness that software product testing is a specialized skill, and cannot be accomplished merely by any developer. But it is becoming increasingly difficult for CTOs to allocate enough funds to hire expert resources, or train the existing resources to meet the demand. As a consequence, product quality is increasingly being compromised.
Though ISVs are slowly getting convinced about the benefit of outsourcing their QA activities to offshore partners, in most of the cases they merely treat this as a cost saving measure. Offshore outsourcing of product testing, if treated strategically, can yield more than just cost benefit. However, treating offshoring as process of simply moving existing software product testing to an offshore outsource partner may be counter-productive. Executives making the decision to offshore testing must draw the strategic plan for outsourcing, define their goal, and last but not the least, must understand the possible pitfalls of outsourcing. This will enable them gain maximum from their outsourcing initiative.
Challenges Faced in Outsourced Product Testing Activities
We all know that product development, being a more intense & involved process, differs from application development. Similar is the case of product testing. Hence, outsourced product testing comes with its own set of challenges. Some of the major challenges faced in outsourced product testing are:
- Partner integration: Success of an outsourced product testing initiative is based on the integration of methodology, usage of proper tools & technologies, and a right-sourcing approach. It is easier said than done. And is normally is the primary reason for failure of such initiatives. Philippines
- Proper communications management: Due to language and cultural barriers, time-zone difference, physical distance, and poor processes, many times it becomes difficult to have an effective communication process.
- Mismatched or miscommunication of expectations: Absence of a well-defined goal and an ineffective oversight process, along with poor communication, can create difference in expectations
- Lack of product engineering focus: Most of the offshore vendors are application service providers. Hence, they do not have the required expertise or more importantly, the necessary product mindset to test a product
- Management issues due to the lack of a workable test management process and associated methodology
- Vendor problems or vendor infrastructure problems such as poor data bandwidth.
- IPR protection concerns
Overcoming the Challenges
Many of the barriers associated with Outsourced Product Testing activities, as mentioned above, can be overcome by selecting an experienced and reliable testing partner with requisite product engineering expertise, quality orientation, structured processes, proven credentials, and an impeccable record on protecting its customer’s IP. This will ensure that product engineering principles are in use and best practices are consistently applied. Cost advantages are achieved through various means such as – optimization of the testing process, test automation, leveraging low-cost test centres. When successfully planned and executed, outsourced product testing can reduce the overall product engineering cost by 40% or more, as well as shortening the time to market and improve overall software quality. But to ensure the best possible results from product testing outsourcing initiative, you must: