Today in the “What you always wanted to know about Testing and Quality Assurance” I will answer questions from the outsourcing category. Since this is a hot topic for me, I hope not to rant too much at it, but let’s see.
From Dorothy Graham we know that just with good Testquality Software Quality gets reliably measurable. If I outsource testing or the whole Quality Assurance to a service provider, then I give up on Quality control. To which degree is Quality Assurance outsource-able?
Not at all, and here is why. First of all quality involves many things to different people. The program managers want many features, the sales people want a competitive product to sell on the market, the end-users want something they can easily use. Now, in order to assure all these quality aspects in a software system would necessitate many abilities in the person doing this. That person (or institution) must be able to test the product, that person (or institution) must be able to drive the development of the software further (yielding more features), that person (or institution) must be able to do market research, and feed the outcome of that research back into the product backlog, that person (or institution) must be able to communicate with the end-users and get their feedback about the product. Do we see a pattern here?
My favorite citation on this comes from Michael Bolton from the Agile Testing mailing list a few years ago:
One important step is to stop thinking about testers as “QA” — unless the A stands for “assistance” or even “analysis”, but not “assurance”. We’re testers. Management (in one sense) and the whole team (in another) provides the “assurance” bit, but since we don’t have control over schedule, budget, staffing, project scope, contractual obligations, customer relations, etc., etc., we can’t assure anything. We should be here to help–not to slow the project down, but to aid in the discovery of things that will threaten value.
Now, the pattern in the description is, that all the tasks described to some degree involve management. Now, if you want to give the tasks of Quality Assurance to an outsourcing company, you shouldn’t be concerned about outsourcing “testing” – which is what most people talking about it have in mind – but about outsourcing management. That said, reframing the initial question would become “To which degree is management outsource-able?”, and I hope you’re clever enough to provide an answer on that on your own.
More pitiful the situation “testers with a bad education” becomes if we take a closer look on India. There, the computer science alumni who become testers, didn’t manage to become business analyst (biggest honor) or at least developer. Therefore business analysts just rarely do “testing”. Which experiences did you make with this dilemma?
If you treat highly educated people as worthless, you will get worthless work. But as explained earlier it’s even our duty as professional software tester to work on the picture that others get from our craft. So, we should strive to work hard on changing this distorted picture, and help people that went astray realizing the basic flaws in their thinking.
Actually, what current development around the Agile community shows is an emerging interest of software testers in business analyst work. Testing and business analysis build a symbiosis to some degree, just as business analysis and coding, or coding and testing does. So, we learned during the past decade, that the walls which have been built for the past few decades of our industry should be better torn down again, since they do more harm than good. Having people working together from day to day is just the way to go, and there is no way you can tailor this out of the attributes of successful software development. You may try, but don’t complain if you fail to do so. That said, the described ranks in the system cause a systemic flaw, which is most likely to impediment your project and our profession in the long run. Change this, and help people realize that they will be better off with your work. Period.
Based on my experience a general contractor has to keep his hands on Quality Control himself. I’m interested in your assessment on this one:
How risky is it in your opinion to trust the quality of a contractor? Which test activities do you find easy to outsource, regarding Know-How transfer, overhead and risk?
None, since it defeats the purpose of team-building. You can try to do so, but you will have pretty hard time to work on your tele-commuting colleagues. This coordination-time is time that you won’t be able to conduct with the testing activities that you decided to outsource in first place.
I know this might not be fair in first place. On the contrary I know of great teams, who achieved to work together even over timezone barriers, and deliver working software 50 weeks per year. Does this sound impressive to you? If I then tell you, that these companies also have a tele-commuting policy in place, where actually no one shows up for work in person, but only from home, does this change your picture? It surely works to build a team with just tele-commuters in your company, but when dealing with outsourcing you have a natural trust-barrier since team members will be from different companies, sometimes even with defeating goals. Do yourself the favor to avoid this political dilemma in first place. Rather hire someone like me, who might help you get started with your problems by providing some coaching, and who is going to leave your team once he achieved this job. You’re far better off with this one – and in most cases maybe even cheaper in the long-run. I wish there were numbers on failed outsourcing attempts. Seriously.