Multisourcing and Software Testing – A Smarter Way to Outsource?
Outsourcing is nothing new in software development, but despite a maturing outsource industry and constant improvements in infrastructure, every year countless software projects either outright fail or experience massive cost and schedule overruns, costing companies millions if not billions of dollars. Why is this happening?
In the typical approach, a single partner is used to develop an application(s) and responsible for multiple components of the product development value stream, including development and testing. It’s fairly simple too as there is one point of contact for the engagement and one contract to administer. Simple is good, right? Well maybe, but what are the risks with this approach you should consider?
Software development outsourcers are just that …. Software developers. Testing is just a necessary evil that they can bill for too. This does imply bad intentions, it’s just reality. Testing is its own discipline, and a very complex discipline at that. It is almost guaranteed that if your development shop is also your testing shop, then you are not leveraging an optimized testing infrastructure.
Resource Bias is a real problem. It is a common practice in the software development world to assign the onerous task of testing to more junior staff. Now if we think rationally and look at it from the perspective that testing is the last cushion between the product and the customer, then this sounds completely backwards. Nonetheless, it happens. The results are predictable.
Conflict of interest are built in. This is really a playout of the old fox guarding the hen house. When developers and testers are part of the same organization, there is intense pressure not to create bad news or delay schedules. The outsource provider may even have financial incentives not to do so. An inherent conflict of interest.
So I ask, is there really business value in lower development costs through outsourcing if quality and performance of the end product suffers in the eyes of your customer? I would argue that there is not.
Of course, defects will result in the direct cost of rework, missed schedules, and budget overruns. But what about the indirect consequence that won’t show up in your budget review. I’m talking about impacts to your customer, and that customer can be internal or external.
Damaged reputations, poor market perception, missed growth opportunities, or outright customer attrition are all likely. Don’t ever forget, with continued expansion of the web and specifically social media, the world is a lot smaller. If your product has quality and performance issues, people WILL know it and will let you know they know it through their purchase decisions or how they perceive you personally.
The good news is that a multisourcing strategy makes it possible to get the cost benefits of outsourcing AND realize significant improvements in the final product. From the software testing perspective, this means fewer defects in the field, and happier customers that complain less, buy more, and promote you and your product to others. What else could you ask for?
Put simply, multisourcing involves leveraging multiple specialized teams to deliver enhanced value to the enterprise. A multisourcing strategy allows companies to break down key organizational requirements into multiple specific functions, and then align specialized teams with those functions that can execute in the most efficient and effective manner possible.
So, what are the benefits of multisourcing and a specialized software testing partner?
Optimized capability at a better cost. An outsource partner that specializes in software testing will have people that are experts in testing and infrastructure that is optimized for testing. You will gain access to skill sets and best practices that would not be available in a shop whose primary business is development. Results improve, schedules are improved, and overall costs go down.
Lower Customer Risk. Your test partners role is to keep you from making a bad impression with and dissatisfying your customers. If uncomfortable news is required, then so be it. It is better that you get the uncomfortable news from your partner than from your customer. Independence and objectivity between development and testing is assured.
Lower Business Risk. Simply put, when you work with multiple independent partners, you spread the risk. Bringing in a new development partner is a much simpler proposition if you have faith in your testing partner.
The bottom line is that a multisourcing strategy may offer less risk, lower cost, and more predictability and certainty of results. Have you or do you plan to explore a multisourcing strategy for your next project?