Post 1: Onshore vs Offshore Testing – a short debate
During my 35+ years in the IT industry I have been a full-time employee, a full-time and part-time contractor (in some countries known as an independent) and a consultant. The reason I make these distinctions is that generally our industry seems to think it pertinent – I do not. Our industry also thinks it pertinent to distinguish us by location – hence the (now) common use of the terms Onshore and Offshore (the company I most recently worked for had their very own term - Right-shore). To my knowledge, I have never been referred to as an Offshore resource (the term resource is used here because that is what I am called these days – as opposed to a person). This is relevant to this article as I have on many occasions NOT been working in the country where the main project/outcome was being delivered; therefore, if you use the current definition I was working offshore.
I also think that this debate is confused with the Outsourcing debate. Outsourcing does not necessarily involve taking jobs offshore, it just means that a company has decided that it is more efficient/cost-effective to focus on their core-business and partner with other companies who are experts in providing a specific service or product.
So what is this Onshore/Offshore debate really about? Here’s a few recent quotes:
- “Testing onshore is more expensive / less cost effective than Testing offshore”
- “We can’t find enough sufficiently-skilled Testers onshore”
- “All Testing activities should be performed onshore to protect local jobs”
- “Testing professionals onshore are better qualified than their counterparts offshore”
- “We had a Consultant perform an independent review and he recommended we take our Testing offshore”
I’m going to discuss each of these bullet points (in the context of software testing), stating whether I think each perspective has a direct relationship to the proposition to off-shoring work.
Testing onshore is more expensive / less cost-effective than Testing offshore: This is an interesting place to start, as it is my experience that that vast majority of organisations don’t know how much they spend on software testing activities in the first place, so to use this argument is fraught with danger. I have conducted and contributed to many independent reviews over the years and NOT ONE organisation had a clear view of their budget OR expenditure on software testing. This is because the majority of them don’t have a clear understanding of how to categorise a software testing activity.
It is a generally accepted industry guideline that approximately 30% of a project/release budget will be spent on testing (this article is not about to debate the pros and cons of this assertion, but suffice to say that my 35+ years experience leads me to agree with this figure as a starting point for budgetary planning). So, if you want to reduce this percentage significantly, should you consider taking your testing offshore? I have italicised the word significantly because if the budget impact is not significant (reduce the testing budget by between 25 and 50%) then other factors will soon erode your savings. Economies of scale obviously come into it, but a general rule of thumb for the average 12-month project is that testing offshore will not save you money.
We can’t find enough sufficiently-skilled Testers onshore: A few years ago I was asked to help out on a smart-ticketing project in Stockholm (not a dissimilar story to the Myki debacle in Melbourne). So, here I am in Melbourne and I get the call to go to Stockholm (and Perth, as the vendor was based there). I asked the obvious question – “Why me? Don’t you have somebody just as well qualified in Sweden?” – Evidently not…
My view on this one is that there are far too few specialists in Australia – due to our size and geographic constraints (it’s a very different proposition in Europe and the USA). I believe that it is perfectly reasonable to look outside for specialist assistance; however, over 95% of testing professionals in Australia are generalists and therefore offshoring any of this 95% (on the grounds of experience) is an invalid proposition.
As a post-script to this story, I was never asked to work on the Melbourne Myki implementation, even though we fixed Stockholm in 6 months…. I don’t lose sleep over it
All Testing activities should be performed onshore to protect local jobs: Given what I just said on the previous proposition, I think you know my answer to this one.
Almost 20 years ago I recognised a niche in the software testing market in Australia and I have exploited it ever since – my job has never been sent offshore. My advice to everyone in Australia who wants to minimise the chances of their job going offshore is to invest heavily in your own development (I have received the majority of my training and development overseas), stay ahead of the market and don’t over-estimate your market value.
Testing professionals onshore are better qualified than their counterparts offshore (or vice verse): This is not just about paper qualifications (they are ok as a benchmark, but they have no bearing on real experience). Don’t confuse local knowledge with experience and qualifications – my belief is that we should grow our onshore expertise where it is best suited (for local conditions) and look offshore in exceptional circumstances – after all there is nothing wrong with bringing the specialists/experts here and learning from them, so that you don’t have to bring them back a second time. In fact, the original reason I came to Australia was because I had specialist skills that didn’t exist here and someone paid me a bucket load of money to bring my family here and share my skills and expertise. And guess what? I stayed :)
We had a Consultant perform an independent review and he recommended we take our Testing offshore: If this is the reason your company has off-shored work you need to look for a new job. Seriously, as I said before, I have been that Consultant and there are 100+ solutions for improving the effectiveness of your software testing before the offshore solution needs to be considered.