For a number of reasons, I’ve been thinking recently about testing outsource models. Syncronicity struck again when I read 2 posts this evening along similar topics. The first was Pradeep‘s which is of note due him being in India which is typically considered the offshore hub. Second was the announcement that Creation Step announced that they are investing in QARoom which appears to be out of Georgia (according to their whois information at any rate) which means that it is a near shore outsourcer.

I suspect this is just the beginning of such announcements as Quality becomes of greater term as software becomes a utility (inspired by Do We Really Need a Security Industry?). Another factor is the ease of development of so called Web 2.0 companies with Ruby on Rails and other factors. These tend to be very developer-centric organizations that often hire on professional testers only after something bad happens. Do I think that outsourced testing is better than hiring on someone in-house? No, but farming out the testing makes sense in this model because you do not have to worry about having a body on staff when you don’t need one.

So going on basis that the model does exist, which variation is better; off or near shore? Sure, the “proper” answer is “it depends on the context of the company” but I think the near option has greater chance for success (all things being equal) but with a twist. I think for the near option to succeed it has to be really, really near. This way the issue of timezones is removed and the language barrier likely is as well. This means that when the people testing your product have a question about it they can get timely and accurate information and it is this communication breakdown that usually causes the most pain (having been on both ends of this equation).

James Bach talked for a bit when I took his RST course about offshoring (it was at HP where that is always a hot topic) and I think he nailed it on the head when he said that it works best when you train up the outsourced testers and let them test instead of preparing massive scripts. In terms of simple economics it is far more affordable to engage someone in the same city/region than in a different continent – and the whole point of the outsourcing is to save money. For example, when I was at HP and we started using outsourced testing, we flew them from Shanghai to Toronto for 3 months to teach them the ins and outs of the product. Now they do all the testing. Would it have been cheaper to just get someone locally? Maybe, but flights cost money, apartments cost money, feeding and entertaining them costs money too. Sure, the per hour is less, but when all said and done, is it really? And what about the productivity loss due to the inevitable communication breakdowns.

Considering outsourcing? Before you head to the subcontinent, look in the backyard first.