Agile and Offshore QA: Is it Possible?

QASource
QASource | December 13, 2017

Agile and Offshore QA: Is it Possible?The Agile method is a development methodology that depends on fast iteration and close collaboration among dev and QA teams. Historically, people have viewed outsourced QA as incompatible with Agile, emphasizing the misconception that teams need to be under the same roof in order to effectively communicate and reach alignment on project requirements. This view is drawn straight from the Agile manifesto: “The most efficient and effective method of conveying information to and within a development team is a face-to-face conversation.”

But with advances in technology come great shifts in thinking, and people are realizing that dev and QA need not be housed in the same building — much less the same country or continent.

While face-to-face conversation is, and always will be a core tenant of the Agile way, the effective use of technology, a focus on knowledge sharing, and a regimented communication schedule makes its adoption by distributed teams possible.

Dev and QA need not be housed in the same building - much less the same country or continent. Technology, knowledge sharing and a communcation schedule make Agile possible for QA teams. (Click to tweet)

Let’s take a look at a few best practices for priming your offshore QA team for success with Agile:

Conduct brief yet frequent status meetings

In most of the product development companies, standup meetings are a norm. This is an Agile practice that keeps all of the teams aligned on project progress, which allows any issue that may be blocking engineers to be addressed by scrum masters and product managers. To ensure that your offshore QA team gets the benefit of these meetings, be sure to include them via video conferencing, or, at the least, a conference call.

Get QA involved in release planning

Involve QA from the start of your release planning process. The more visibility your offshore team has into the project requirements, milestones, and timeline, the better. QA engineers can voice concerns early, highlight any problems that may cause a snag in delivery, and suggest superior testing approaches. For example, a suite of manual tests could be automated to drastically reduce the time to market. Without involving QA, this would be a missed opportunity.

Leverage time difference with shorter sprints

When working with an outsourced QA team, you can use the time difference to your advantage. For example, if you’re based in the U.S. and you outsource QA to India, there would be an approximate 12-hour difference between your teams. Your devs can build during the day, then send it to the QA team for overnight testing, with just enough overlap for stand-up meetings and check-ins. Shorter sprints allow for rapid iteration between dev and QA, and help teams sneak in fixes for bugs that would, under other development methodologies, be delayed for weeks or months.

Centralize shared knowledge

The more information your QA team has about your business, audience, product, roadmap, and development strategies, the more successful they’ll be. Gather all of the important stuff — user stories, data flow, design templates, process documentation, test results, etc. — and store it in an organized, easy-to-use Wiki. It’s a great self-serve resource for your offshore team, as well as for new hires that will be joining your in-house team.

Keep teams up to speed on practices and tools

Process-based solutions are hugely important for smooth collaboration between onsite and offshore teams. But when it comes to Agile, technical solutions can be just as important. Two of those solutions include continuous integration and automated unit testing.

Continuous integration (CI) involves moving code into a shared repository frequently throughout the day. After each check-in an automated build verifies it, allowing QA to quickly uncover issues with the new code. Tools like Jenkins, Bamboo, CircleCI, and Team Foundation Server make CI much easier for teams.

Automated unit testing is the practice of writing code that helps facilitate the testing of the application’s code. Result of this testing is a reduced, required testing time by a huge margin which tends to increase as the regression suite scales with the growing application. Combined with CI, it helps teams create an “always-on” framework that runs and reruns any automated test unit, anytime new code is added.

Improve overall communication

Know which tools solve the right problems. For quick fixes, check-ins, and troubleshooting between onsite and offshore teams, instant messaging clients like HipChat can work very well. For stand-up meetings, release planning, and more significant team-to-team discussions, engage the offshore team with video conferencing tools or phone conferences. Remember, video and phone meetings should have a clear agenda and a list of objectives, just like face-to-face meetings.

Use onsite visits to build trust

Your outsourced QA partner may send an ‘envoy’ team to gain a better understanding of your business, product, team, and culture. Be sure to take advantage of this opportunity by showing them the ropes. Let them observe how your dev team works with stakeholders and each other. Introduce them to stakeholders across the organization. Familiarize them with your target customers - who they are, what they value, and why they use your product. Over time, these envoy visits will help deepen the relationship you have with your testing provider and turn your offshore QA engineers into a true extension of your team.

Want more information on making your offshore Agile QA successful? 

Check out our free guide below!

Disclaimer

This publication is for informational purposes only, and nothing contained in it should be considered legal advice. We expressly disclaim any warranty or responsibility for damages arising out of this information and encourage you to consult with legal counsel regarding your specific needs. We do not undertake any duty to update previously posted materials.