Outsourcing: what do you think first?
The first thing that comes to my mind when I hear outsourcing is cost savings. No surprise that it’s the primary motivator for outsourcing decisions. However as we all know low cost not always means good quality, and vice versa as well – high quality at a high price.
To my opinion, the right approach and organization work that’s what turns testing to a smart business goal and cost-efficient decision.
So to optimize testing a number of considerations have to be taken into account: at what stage to outsource, how to find the right and secure partner, how to build and manage outsourced testing, how to stabilize communication etc.
In this article I would like to think over and demonstrate how to make outsourced testing effective and secure process.
Why do companies choose to Outsource Testing?
Software becomes increasingly important and failures in work could lead to money lost after product production if it wasn’t being tested properly. Moreover, in areas where software failure is expensive or could cost someone’s life testing should be one of the crucial activities. According to the statistics 91% of IT departments consider testing one of most important tasks in the development cycle.
Along with the growing demand on testing activities the remote outsourced teams increased in recent years as well and it is expected that the percentage will be growing next years. Nowadays test outsourcing market is no longer driven by independent testing companies, but all major outsourcing companies offer testing services as well. That increases the importance of testing and gives more possibilities in choosing the supplier.
There are number of benefits that could be archived through outsourcing, but let’s select the main ones: resource flexibility, cost savings, time savings and quality improvement of the end product.
From these points outsourcing of testing could be seen as a positive thing and could create real value for both customer and its supplier. However there are many stories as successful so complaining ones about work with outsourcing teams based on the information from blogs and articles. And based on them outsourcing is not always the fastest and cheapest way to test and in some instances can be turned into a complete failure. The main complaints connected with communication problems, timeframes of product delivery, quality of resources and supplier responsibility. Everything has its advantages and disadvantages, its positives and negatives, so based on the learnt lessons and previous experience it is always possible to work out some rules to get the successful results.
Step by step to outsource successfully
So based on experience working with our customers and read articles on this topic I’ve prepared some tips that should be considered while deciding on choosing the right partner:
– Past experience, if it would be possible to find out if they ever tested the same type of project you have;
– Request a list with references;
– Find out who of engineers will be assigned on your project, look through CVs, and organize interviews to check qualification and language skills;
– If test cases/scripts need to be prepared, ask for the examples of existent test cases to verify the level of expertise and experience;
Beside the decision of selecting the right partner, one more key to success is effective level of management service. So if you want all the things were done properly, you need to organize well the testing process, and to consider the following things:
-To choose the type of testing: manual or automated;
- To stabilize the requirements to the management: communication process, team coordination, etc.
- To consider tracking tools, environment to work in;
- To discuss in details project planning: preparing test plans and cases;
-To discuss and determine the project dates and final deliverables.
Once you have chosen a good partner and met your expectations outsourced testing become an excellent option. But you shouldn’t forget about continues monitoring and take carefully decision at what stage your product needs to be involved in testing process. You would need to manage all the process including also such details as time difference and national characteristics in order to build stable cooperation and communication process.
Of course, you should also take under control any problem that could happen. If failure occurs try to discuss it and develop mutual decision to deliver the product in time. So qualities of a good coordinator/manager and planner would be required as well.
As the result I should confirm that outsourced testing well coordinated and organized help you test your project within budget, on time and at the right quality.
Thank you for your attention and waiting your comments and sharing your experience.
Based on my experience working with offsite testing (both with geo-distriubuted teams within the same organisation, and with dedicated outsourcing contractors) I’d say another key step is to limit sandboxing of the test team as much as possible.
By this I mean try to ensure that your test team has enough access to the system being tested to let them diagnose root causes of problems and be as useful to the main dev team as possible.
Ideally this should include access to the servers being tested (to inspect log files, check running processes,etc.) as well as the application source code. They should also be provided with enough domain information to really understand what it is the application is doing and the context it’s being used in. This will make them much more effective and should help with motivation of the team since the testing process is more involved (developer turnover can be a big problem with outsourcing).
The best experiences I’ve had have been where the test team is as tightly integrated with the main dev team as possible, i.e. included in calls, given personal introductions, etc. If at all possible a face-to-face meetup can really help too – we actually had one case where one of the test team was flown over and shadowed the dev team for a month which was a great success long term.
Conversely the worst experiences have been where the test team is too tightly sandboxed to be useful and they end up logging lots of high-level bugs for the same root problem. This can be a big waste of resources on the QA side and leads to resentment from the dev team (“why are they logging all these bugs for the same thing!”).