This is a guest post by Dee Ann Pizzica.
Working with outsourced test teams can offer some great advantages. But whether you hire an offshore team or a local contractor, keep in mind that managing any team outside your organization is work. Don’t be caught by surprise when you still carry some of the same responsibilities as when working with your in-house team.
Here are some tips for maintaining a positive and effective working arrangement with outsourced teams.
Consider time differences
When you select a partnership with outsourced testers, it should be to enhance your team’s capabilities. Part of this is considering the availability of your team and the effects of time zone differences.
While you may find a team halfway across the world who will offer you a low price, you must seriously consider if that is a good fit for your team’s working style. Is there enough overlap in working hours that you can meet together? Are there team members on both sides willing to flex their schedule to be available early in the morning or late in the day?
Of course, opposite schedules may sound promising. A key advantage of having a test team that works while your development team is sleeping is that the teams work in a cycle of building and providing feedback. When everything is working fairly well and test builds are stable, this can work out brilliantly. However, when there are problems, this causes stress for both teams. Either some people end up working well outside normal hours, or productivity grinds to a halt.
Plan for delays
There are a number of common problems that cause delays in the testing process, so it’s important to be flexible and include buffer times in the schedule.
Some development teams run like clockwork, while others experience frequent setbacks. No matter what your team’s habits, there are bound to be situations when a build is not ready on the date you planned for testing. The more flexible everyone can be, the better the chances of a successful relationship.
Sometimes, even if the product is deemed ready for testing, there will be a detail that is missed. Your test team may require a certain dataset, updated instructions, or a feature flag enabled. Even minor conditions that are configured incorrectly can lead to hours of lost time if testers are stuck waiting for the development team to make any adjustments.
Confusion over requirements, especially if your test team is working on new features, can take up additional time you might not have anticipated.
In addition to building in time to accommodate delays, ask about the test team’s schedule. Many test organizations support multiple clients, and their ability to reschedule may be limited.
Define a communication strategy
Early on, decide on the tools and timing for communication with your test team to avoid confusion wherever possible. Consider how you’ll use email, chat tools, and documentation. You may even want to set up daily or weekly calls, depending on the complexity and frequency of the work.
Include relevant stakeholders in your communication, and ensure that members of both teams are comfortable reaching out to one another to share questions or concerns. Be clear about your plans for communication, but also be ready to pivot and try something new when you see opportunities for improvement.
Even if you’re used to working with a remote team, outsourcing requires even more deliberate planning. There are several tools you can share to have common product documentation and management of test cases, and you should use them. These tools only work when you keep information up to date.
Changes to features, designs, delivery dates, or anything that impacts your product all could impact the test team’s ability to meet your expectations and report quality information. Consider demoing new features and walking through documentation to help minimize misunderstandings that might slow the team down.
Set clear expectations
It is imperative that work and expectations are clear for both parties. Here are several areas to pay special attention to.
Billing and deadlines are two of the most important factors for managing outsourced teams. With regards to billing, if you’re paying your test team hourly rates, consider requesting regular reports of hours so you can monitor your costs. Alternatively, if you’re adhering to a monthly budget, set a threshold and have the team alert you when they hit a certain number of hours. When it comes to deadlines, be explicit about scheduling so that teams understand when the work needs to be completed.
Testing style is also a vital expectation. Determine how much structure you need to feel like you’re getting information you require to make decisions about the quality of your product. On one extreme, you might want a test team that excels at exploration. You want the team to be empowered to write their own tests and prioritize them based on your threshold for risk and their understanding of your business. On the other hand, your business’s context may dictate that your outsourced team execute a curated set of test scripts. These scripts may be a series of regression tests that must be fully complete and processed against the system the same way every release. Whatever the need is, ensure that your expectations are clearly outlined.
Share access to any test case management tools and reports so you have insight into progress and any pass/fail information from the tests that were conducted. In the best of circumstances, this allows you to review and make adjustments to the tests, as well as to verify that testing is complete. When problems arise, this access also can allow you to look for clues about how a bug might have been missed and how to prevent issues in the future.
Regardless of who does the development and the testing of your product, you can’t offload the responsibility of quality. Imagine a major bug finds its way into production. If the offshore team missed it in testing, you may be tempted to place the blame on them. You can point fingers at the test team, or even fire them, but having a scapegoat won’t fix quality problems in your product. Ultimately, you are responsible for the quality of the product.
Be proactive, and understand the work required in partnering with an outside test team. This will help you avoid common issues that organizations encounter.
Like any testing problem, outsourcing isn’t a silver-bullet solution. But finding the right team can be a valuable boost for your development organization and increase the quality of your products, as long as you also have the right process.