Geographically distributed QA teams and the challenges that they face are a common and ongoing topic in the software development world. In this article, Kevin Wilson focuses attention on eight simple solutions that can help maximize the effectiveness of your distributed QA team.
The dynamics of geographically distributed QA teams and the challenges that they face are a common and ongoing topic in the software development world. While many of us likely know of several good practices for working in a distributed team environment, it has been my observation and personal experience that even basic routines and good habits can become marginalized and overlooked through the course of time.
If you are a quality assurance professional about to lead or participate in a distributed QA team for the first time, the basic practices below can likely provide a solid foundation for promoting accurate, timely testing and, ultimately, the delivery of high-quality software. If you already have experience working as part of a distributed QA team, these tips may still help streamline your existing processes—or serve as a friendly reminder of practical applications.
Let's assume that you and your QA team are responsible for at least two major product lines and numerous associated applications, each of which requires dedicated sprint cycles and release cycles and may have inherent dependencies. Your QA team has members who are divided across the two product teams and work ten to thirteen hours ahead of your time zone. To make matters even more interesting, other members of the larger Scrum team are located in one or two additional time zones.
As you begin to assess your situation, several questions may come to mind. How do you maintain good communication with your distributed QA team and ensure effective testing in a Scrum development environment? Are there any simple practices that QA team leaders and members can incorporate outside of normal agile activities to achieve their goals?
Consider incorporating some of the simple solutions below to improve team effectiveness.
Solution #1: Send a team email at the end of each day.
Before you leave your office or go offline at the end of a day, take a few minutes to compose and send a very brief email to the QA team. A number of things can change throughout the course of a day—statuses, software build availability, shifting company priorities, etc. By taking the time to communicate your thoughts regarding the QA focus for the next day, you can prevent wasted testing efforts and unnecessary loss of time. As an added bonus, you can use your daily email as a forum for guiding testing strategies throughout the project lifecycle and encouraging overall best testing practices.
Solution #2: Participate in a perpetual IM group chat.
Using an instant messaging software tool available to everyone on the team, create one or more group chats in which conversations can take place twenty-four hours a day. Quite a bit of nuance can occur during the course of a long, real-time conversation thread, and a perpetual group chat can very much aid in keeping track of what was agreed upon and why for a given issue. The group chat is also an excellent forum for making real-time adjustments to QA strategy, resource allocation, and more. Encourage your larger Scrum team to also create a perpetual chat as a means of fostering better Scrum team communication.
(Note: while engaging in a group chat can be helpful, it is important that the team closely guards the scope and integrity of the agreed-upon sprint scope and goals. Stay on track!)