What You Should Know Before Outsourcing Software Quality Assurance
If you are looking for software QA outsourcing solutions, then you are in that next exciting stage of development. There are, of course, many factors to consider, however, for peace of mind, let me start with simply stating that ‘QA outsourcing is a good business strategy.’ If done right, it will improve efficiency, cut costs, speed up product development, give you access to expertise without the hiring costs, and allow you to focus on your core goals and competencies.
Scoping and Planning
It is important to consider your systems first and at what stage your processes are right now. Are they ready for QA outsourcing? A full scoping and planning of your current stages, versus the desired outcome, will give you not only the maximum return for your QA outsourcing efforts but also the right timing and future proofing.
For example, if you have confidential information, is your security ready to allow outside partnering? Or let’s say you’re developing a new app for your team, only to realize after launch that it will be hugely beneficial to be able to connect to social media. Retrofitting the integration may be a costly operation.
Now let us consider the types of testing. Are you targeting security, usability or load testing in anticipation of server stress? List all your current internal systems and their capabilities. Overlay this with your plan and identify the QA types you need from an outsourcer. Will they be working with your team in places, and which testing will they be required to fulfill independently? At this point it is just an overview, so do not be afraid to ask the QA outsourcers for their input. They will be able to help identify these needs with you and, in turn, this is a great opportunity to help you decide which vendor to work with.
Ask what types of reporting you can expect and what detail they will provide. In a sector where communication is arguably more important than any other factor, knowing your vendor’s process for connecting and reporting is essential. Make sure you will get the information you need in timely intervals, to drive decision-making.
Cost and Risk
Booz Allen Hamilton issued a 2014 report pointing out: “Savings typically result because the outsourcing supplier can access a cheaper, more flexible workforce and the latest, most efficient technology. Organizations claim that they achieve, on average, a 15% cost reduction through outsourcing.” Datamark Incorporated, which delivers enterprise content management services to Fortune 500 companies, backs these claims. In a 2014 white paper, it found cost savings of 31% on a single-year cost analysis, while a three-year study of the same sampled business showed savings of 33%. The list of examples is almost inexhaustible, and with the introduction of ISO standards and procedural certifications to many genres, the risk factor is easier to mitigate for those with good due diligence.
You do not need to be a testing guru or an IT genius. You just need to understand the processes involved so you can make much more informed decision-making. To some CIOs out there this is second nature, however, if it is not, then outlining research on the processes will make life considerably easier. Look up some of the following terminologies as a starting point, and make sure your QA outsourcing company covers it, or at least the ones that are important to you:
- Automated and Manual Testing
- Functional Testing
- Performance Testing
- Compatibility Testing
- Regression Testing
- End-to-End Testing
- Black Box Testing
- Unit Testing
- Incremental Testing
- Integration Testing
- Live Monitoring
- Product Certification
- Asana, Trello, Testrails & Agile Methodology
1. You get what you pay for.
If you choose the cheapest bidder, you may end up redoing work over and over again or, worse, bringing in a second company to fix the mistakes of the first, which will result in the initial cost savings rapidly disappearing and project launch dates pushed back. Consider their retention rate and returning customer percentage over the volume of their clients. These are good indicators of quality work, over their ability to simply underbid the competition.
2. You need proof.
Spend some time looking into the company history, past projects, client base, and experience in your specific needs. Don’t be afraid to test them out. Ask for a trail (a company of confident quality and expertise will be happy to accommodate this). If they cannot spare the manpower for a demo, then they certainly cannot scale to fit your demands on a last-minute alteration, crisis management or multiple projects as you hit a growth spirt.
3. Quality assurance is no assurance of quality.
A good portfolio and a good price? So far so good. However, there is still no guarantee that your project will be the continuation of their past glory. If you want to know if you are in good hands (and will be for a long time), look into the hiring process and ask not just about their customer retention, but their staff turnover rate as well. Also, find out what internal development programs they have and how they invest in their people. The bottom line is, how much they care about their people has a direct correlation to how much their people will care about you.
4. Lost in translation.
The chances are, if you are looking for a great software QA outsourcing company, then you are looking at Southeast Asia. Technology, education, and cost-effective labor all point to emerging and proven hot markets such as Vietnam. However, this brings its own set of challenges.
Keeping instructions, updates and project management perfectly in check on a daily basis is hard enough in any environment, without crossing language barriers. Therefore, language competencies are a priority. Most well set-up QA outsourcing companies will have at least a degree of Western Management native to US and European languages and standards. In combination to this, several Southeast Asian countries pride themselves on their extra language education, especially English. Take mobile gaming for instance. Regardless of your hard launch target, you will be soft launching to test viability, stress test servers, sample ad network aggregators and solve bugs. However, you need a cheap, viable demographics to do so. Again, Southeast Asia is the go-to place, as covered by Chart Boast in their analysis of emerging markets. The low cost of CPI, the entry and the vast pool of westernized highly educated gamers is perfect in countries such as Vietnam, Thailand, Indonesia, and Malaysia. However, studies have shown a 273% increase in downloads can be achieved by simply localizing game text and ASO, languages to popular markets such as Mandarin, Japanese, Korean, Spanish German and French. The cost of doing so is very small compared to the overall project and is a worthwhile investment. It’s worth knowing if your QA provider covers this variable.
5. Understand your role.
The quality of the testing depends on the amount and quality of information the developer provides. The more information, the better you can prepare test requirements and the greater the number of defects you can identify. You must focus on the outcomes and involve the outsourced developer in the planning phase. By having a trustworthy outsourced partner, you can leverage their experience while developing a detailed plan. This can save a lot of hassle further down the road.
Most people make the mistake of omitting some information while sharing a project brief as they assume it is obvious. Seasoned CIOs warn against this behavior and repeatedly stress on explaining things in detail. What is obvious to you may not be to your outsourced team. It is not lack of understanding or skill. It is simply that they are not in your head. Never assume they are.
It is almost impossible to iron out all the details, but regular reporting, communication and cross checking will help ensure that the task is properly understood. It is always better to over-communicate than miss out on some seemingly obvious but important detail.
6. Maximize modern methods and technology.
It should go without saying that your outsourced testers need to be equipped with excellent testing labs, latest software and a vast array of hardware (mobile devices, tablets, servers, etc.) It seems obvious but, so often, this small yet crucial fact gets overlooked.
Moreover, it is important to assess not just the testing tools, but how they are applied as well. Modern, agile methodologies like scrum offer greater transparency and superior results. By breaking up projects into short, manageable chunks, agile methodologies offer more opportunities for testing, feedback, and adaptation. For best results, the mindset, as well as the technology of your QA outsourcing partner, has to be modern and innovative.
Steps to Take
1. Choose an engagement model.
Are you going to implement total or incremental outsourcing?
- Total outsourcing: The outsourcing partner is in charge of the whole testing process for several projects.
- Incremental outsourcing: The company divides the work into smaller, more manageable projects to reduce the need for outsourcing.
2. Prepare your SLAs.
Service Level Agreements (SLAs) are meant to outline the amount of service your outsourcing partner is going to provide. SLAs usually include the following:
- On-time delivery: When are the target dates for finishing big deliverables? These must be set at the beginning. If the dates are to be moved, use change control processes.
- Effectiveness: To be more effective, is there a need to reduce costs, increase profit or adapt business transactions?
- Volume of work: In fixed-price projects, the number of deliverables are fixed, but negotiable in time-and-material-basis projects.
- Customer satisfaction: What do customers say about your outsourcing partner’s work? Conduct research to find out.
- Sensitivity: How much time does your outsourcing partner need to carry out a request?
- System downtime and availability
3. Prioritize IP protection.
All personally identifiable information (PII) must never be duplicated, distributed, disclosed, conveyed or made available to third. So make sure your outsourcing partner has security standards that will prevent misuse or unauthorized access.
4. Check on the human resources.
The success of your partnership with an outsourcing company depends on the people who will do the job. Do not hesitate to ask about the qualifications and experiences of the people involved in your project. Also consider the company's ‘Staff retention rates.’ Happy staff equals good work.
Aim for long-term collaboration.
Think about the long game as many outsourcing companies go on to become your partners, not just a one-off service. This is a relationship decision that could benefit you for years to come. An on-demand, scalable (up and down), skilled workforce with your best interest in mind. Moreover, a long-term collaboration between you and your outsourcing partner will result in increasing quality. As your relationship with the software testing company improves, the processes and work methods will also improve. This should not be limited to testing but also include the other aspects of the end product as well.
Schedule for refactoring and bug fixing.
Software development is ongoing and is a complex and demanding craft. Bugs can and will occur, even after thorough testing and, over time, the code can naturally deteriorate. Often, developers are in a hurry to meet short deadlines, and small issues with code are pushed through. The code still works, but it is more difficult to read may not perform as well as it could.
There is a need to consider the costs of maintenance and updates to resolve these issues. This ‘technical debt’ can be limited by refactoring regularly, as refactoring allows you to address issues if you have been staying involved in the development of your product.