Friday, February 09, 2007

Offshore Resources : + or -

Offshore resources are never a quick fix, especially for testing. A 2005 report from AMR Research found that it took between fourteen months and three years before the offshore testers had sufficient familiarity to be effective in finding the root cause of problems. Others have found that the lack of domain knowledge resulted in spurious defects being reported that actually increased development overhead due to review and response times. In fact, one organization identified that as many as 33 percent of reported issues were traceable to tester error. In one of my previous company that I have worked, testing have been outsourced to a different company. And in that scenario, 45 percent of the reported issues found by the outsourced testing team was due to the testing team errors. This is a real time scenario that I have faced. So companies that choose offshore resources as a way to remedy a resource deficiency, or keeping cost cutting in mind, might find themselves with higher costs and resource demands for one or more than one year. Without careful planning and realistic expectations, this confluence may end up eroding quality and extending schedules.

One of the major aspects that is coming out, is the instability of test environments. In almost all testing projects, this is a concern, more so, if environment/development teams are a in different location other than test environment. We have to manage this by placing environment support in the time zone of the offshore test teams and ensure quick turn around time.For the same company that I have worked previously, the testing environment is in the different location from where the testing team was performing. And to resolve this issue, test team has to visit their premises on daily basis spending most of their time in travelling and settling down their. Again not a good practice of offshore testing.

Organizations should not look at offshoring activities from the cost perspective only. Rather, organizations should look at offshore activities where they could develop a 24 hours model of testing/development and other efforts. The change in the mindset would immensely help to decrease the time to release their products to market.For any off-shoring operation, there should be consistent and meticulous planning by the people who are involved. Off shoring cannot fix all the problems. However, with the right push from the management and the right attitude from the people involved, it would be a smashing hit. The first thing that needs to be developed for the people involved in such an operation should be trust and sincerity. The processes,timesheets, effective output, defects tracking index etc., comes next.

Sometimes testing team suggests some improvements to overcome these type of problems. But test process improvements are often rejected simply because the management believe the improvements are nothing more than a self-serving attempt by someone to make a name for himself. They don't believe that the improvements really are meant for the good of the project. I encountered this type of scenario. In one of my previous company, as a senior test team member, I suggested some of the facts that were really helpful to overcome some of the issues that we were facing while testing. And the funny thing was that most of the higher management agreed with my opinion but due to the same point that I have mentioned, (self-serving attempt by someone to make a name for himself) no one respond back for the same. After that, I tried to convince my views in front of the management in other way. I keep producing positive results (rather than focusing on improvements)) with the same processes/infrastructure that they were following. Producing positive results will always be more beneficial than focusing on improvements because it will eliminate the belief that you're offering a new process simply because you don't understand the existing one.With my 6 years of working experience in QA and Testing, I have been involved in QA efforts as part of the off-shore operations for various products. We (myself and my US/UK counterpart) overcame these as challenges and solved everything to a stage where the Off-Shore team could function seamlessly in conjunction with US/UK. The reason behind this is the commitment and sincerity from the both sides to resolve issues. To top all of this we developed mutual trust as the first thing. We did not see each other as problem creators or as competitors, working for the same company.
The outsourced testing team sometimes is not so efficient (The word "efficient" is usually just a code word for "Cheaper" in modern day business environment). The quality of (outsourced) work can also at times be very poor . Some of the reasons for this can be : no domain knowledge, reluctance of offshore team to ask questions (specially when given inadequate specifications), lack of documents, lack of documented (and established) procedures etc. I have worked with developers & testers who are the very best (overseas and in India) and others who can definitely be classified as the 'worst of the worst' (again,overseas and in India). Once I went onsite in one of my project. I met a testing engineer who was physically challenged but that guy was full of energy and a true testing specialist. I really appreciate that guy and his attitude and he is a legend for me in testing domain.
A smooth working relationship between developers and testers is essential to efficient testing. Too much valuable information is unwritten; the tester finds it by talking to developers. Developers and testers must often work together in debugging; that's much harder to do remotely. Developers often dismiss bug reports too readily, but it's harder to do that to a tester you eat lunch with. Remote testing can be made to work - I've done it - but you have to be careful. Budget money for frequent working visits, and pay attention to interpersonal issues.
Software specifications are usually not written to such detail as to someone outside the organization can follow. The resulting software usually falls short of satisfying the specifications. The results can be even more costly in time and money than having the software developed/tested onsite.Overall in my opinion, if the management cannot handle the things properly, offshoring resources is a bad idea.
-- Sanat Sharma

No comments: