At import.io, quality is always considered to be an integral part of our implementation. As a Quality Assurance (QA) Manager, I manage functional testing, automation and quality management. This means that it’s my job to implement QA processes as well as to ensure updates and new features are working with superior quality, without breaking the existing functionality. Testing every individual piece of functionality can be a laborious thing and in order to make this process more efficient, we employ an offshore team in India. I recently had the pleasure to spend 2 weeks in India training them and it gave me a chance to make some interesting observations about the process of outsourcing.
QA is one of the most critical areas of the Software Development Life Cycle (SDLC), but it is typically given the least attention. There are lot of misconceptions surrounding what a QA Engineer really does. In reality, it takes as much analytical knowledge and technical smarts to become a solid QA Engineer as any other developer, maybe more. So, why don’t developers do their own testing? The simple answer is because it’s hard. It takes serious effort to put together a QA process, test harness, organize the code, etc. Not to mention, it’s very time consuming.
Typical Software development lifecycle (SDLC)
Benefits of Outsourcing
Outsourcing QA is one of the most popular ways to conduct product testing and I have been involved with it on numerous occasions across several different companies. QA engineers in well run teams often have better product knowledge than any other part of the organization, and the same knowledge must be transferred and retained with the offshore team.
Cost is another obvious advantage when it comes to Outsourcing IT to India. Managing the same size team in London would cost at least five times more than it does in India.
Hiring Your Offshore Team
Good QA Engineers, Automation specialists, Quality Management and Functional Testers; like any other resource, are not easy to find. Outsourcing may be the obvious choice, but it doesn’t make the task of finding a quality team any less challenging. Of course, the large supply of IT talent in a country like India can make it slightly easier; but the vendors in these countries have a plenty of their own issues and challenges.
In order to Outsource QA activities and get great results from your offshore team, there are few things you need to keep in mind:
- The vendor selection process is very important. When choosing, you should focus on establishing synergy between your organization and vendors’. Search for the match on multiple dimensions and come up with a scoring matrix in order to chose the vendor.
- Abundant communications in all forms such as daily Start of Day (SOD) and End of Day (EOD) calls are essential to maintaining a good relationship with your team.
- Visiting the Offshore team and meeting them face-to-face, as a client, helps to keep up the momentum.
- Staying in control of your team with ongoing preventive maintenance in all aspects of the engagement in terms of personnel will help mitigate some of your risks.
- Reducing the Big software release cycles by adjusting SDLC to accommodate for idiosyncrasies introduced by offshore will also go a long way in ensuring a well functioning team.
Me and the offshore QA team
Outsourcing isn’t the secret to solving all your problems, but it is generally the most cost effective and elegant solution that I have found to getting QA done.