Should software quality be a core competency or should you consider outsourcing software testing? There are strong arguments for both and “both” is probably the best right answer.
A better question would be “How could I build software quality as a core competence AND outsource testing activities?” This approach is the Genius of the And. A simple strategy to accomplish both can avoid a wide variety of issues and build a stronger software product and company. A good strategy starts with a thorough understanding of the problem.
A typical business problem that we see frequently at TESTCo is “How can I get the software testing talent I need exactly when I need it?” Software is expensive to build. Really good software, the kind that drives business revenue growth consumes engineering talent and cost like a wildfire! Generally speaking, you can’t outsource the core engineering required to make your software work. You can outsource the building of some features but really good software is typically built in-house. You can outsource Quality Control if you can’t find or afford it but this will cause your choices for potential outsource testing to be even more narrow – not every outsourced software testing firm has this talent and capability. You should however, outsource your software testing activities if you have engineering budget constraints.
Software testing is an activity inside of software quality control. Quality control – producing software that meets scope, budget and quality goals – is actually the core competency most software companies seek. Most outsourced software testing can provide good software testing but fails to do much for quality control. Some key indicators that your software testing outsourcing provider does provide quality control include test strategies, test plans and even a test case management system.