Outsourcing of software testing starts to lose its mojo
Outsourcing can now act as a straitjacket, constraining firms from achieving business agility, says Ziaan Hattingh, MD of IndigoCube.
The economic and business drivers that once convinced companies to outsource software testing to external service providers need to be reconsidered, says Ziaan Hattingh, managing director of IndigoCube, a company that enables and improves the productivity of the application life cycle in large organisations.
"Increased business dependence on applications means that the need for software quality has escalated dramatically," Hattingh says. "Consequently, the value proposition for manual testing has altered substantially, and outsourcing can now act as a straitjacket, constraining firms from achieving business agility."
Hattingh explains that during the 1990s and 2000s, manual testing was pretty much the only game in town when it came to assuring software quality. Now, he says, specialised tools that automate the testing process have advanced to the point where they significantly enhance the productivity of the testing effort.
"However, external testing service providers have no incentive to drive efficiencies into the testing process, because that would affect their fees, which are normally based on headcount and hours worked," Hattingh notes. "At the same time, wages in offshore locations like India are on the rise, which is already beginning to undercut the attractiveness of this approach from a cost-reduction point of view."
More importantly, argues Hattingh, the importance that testing has assumed means the inefficiencies inherent in the manual testing process itself now represent a substantial risk to the business. The environment in which applications must operate is growing more and more complex: multiple vendors, private and public cloud initiatives and the explosion of demand for mobile apps to access corporate data all add to the need for testing and the difficulty of doing it effectively.
Complexity is not the only challenge for testing. Another is the much quicker turnaround times required. In today's fast-moving markets, businesses need to respond rapidly to changed market needs or competitor activities. In response, Agile and other software development processes have evolved to speed the creation or refinement of software, and testing has the same requirement to improve throughput while raising quality.
Automation is one answer to these challenges. Another is the use of virtualisation to create accurate testing environments quickly and inexpensively.
The use of testing software tools can transform the testing process itself enormously. It becomes possible to test much earlier in the software development life cycle, so avoiding the huge additional costs of correcting errors late in the process. Traditional big-bang approaches incur massive rework costs; costs can be dramatically reduced by moving the testing earlier in the life cycle. Poor software quality is estimated to cost business more than $500 billion worldwide per year, according to Capers Jones research.
"Excellence in software development is becoming a competitive differentiator. In fact, research by the IBM Institute for Business Value suggests that almost 70% of companies using software development for competitive advantage outperform their peers in profitability," Hattingh concludes. "Improving its quality makes huge sense, which is why companies need to review the rationale behind the outsourcing of testing to low-cost vendors offshore against longer term benefits. It's a complex decision because moving the work back in-house and using specialist tools will require a commitment to transformation and skills development, but it will make sense for a growing number of companies seeking greater business agility."