Remote work is more common than ever. Even as organizations consider having their employees return to the office, many companies are looking to further explore and embrace remote work.
For testers who wanted to go back to in-person collaboration, this idea can be a bit of a transition. But with the right processes, teams can be just as successful from home. Here are five tips to help distributed QA teams work together more smoothly.
Have regular check-ins
For distributed test teams, regular check-ins become an opportunity for vital planning. Daily standups are an effective way for team members to communicate their intentions for the day, coordinate important handoffs, and discuss blockers. Here are some topics to include in your check-in.
Test assignments: This is especially helpful when multiple team members are working in the same area of the system with related goals or tests that require coordination.
What builds and features are available in what environments: When reviewing work incrementally, full features may not be available. Testers need clarity about what parts of the system may not be completely functional.
Documentation: Ensure that requirements, test charters and cases, and any dependency information has been clearly communicated to the team and that everyone knows how to find what they need.
Timelines and release preparedness: Flag any hindrances that may prevent effective and efficient testing so that managers can communicate across teams or upward in the organization if there are any reasons to expect risks or delays to delivery.
Upcoming work: Be prepared so that test plans for future features are drafted in advance.
If a daily check-in seems too frequent, consider meeting a couple of days during the week, or even weekly. A mix is also viable. Daily is an effective frequency to discuss assignments and blockers, but weekly is often sufficient to make decisions about upcoming work.
Motivated to keep your check-ins targeted and efficient? TestRail users can assign and run test cases, create new test plans, as well as track progress, and report defects. This leaves you free to focus your time on anything difficult to track.
Maintain living documents
A successful remote test team needs clear, well-maintained documentation. As a general rule, any information that isn’t obvious to a new team member, or something that testers don’t use every day, should be written down.
Where it is safe to do so, this information can be stored in a shared wiki accessed by anyone on the team. More sensitive test data or passwords can be stored in shared vaults where only credentialed and approved team members can access them.
Key candidates for living documents are instructions for any test environments and anything a staff member needs to know about requesting access to those resources. This could include directions for VPN access, invitations to tools that provide QA builds for mobile apps, and links for any relevant staging servers.
Any special information required to complete tests should be saved in a convenient location like TestRail. For example, applications that have a payment processing component may require specific test credit card information where various entries produce differing results.
Give status updates
The team should agree in advance about the frequency and contents of status updates. Frequency is often dictated by the urgency of the project, with increased communication being a good idea for shorter turnaround times. Even projects with healthy buffer times require regular status updates to help stay on track.
When in doubt, err toward over-communicating as you get started. The team can always opt to scale back if it seems like there is too much time being dedicated to updates that aren’t providing value to the team or to management.
A great default is to start with communicating status to the immediate team at the end of each day or week. Communication should be increased to the wider team at the manager’s discretion.
Status updates should include:
- Anything that is blocking or slowing down testing
- A high-level summary of important issues discovered, with attention to any release-blocking items
- An overview of work completed for the time period
- A summary of upcoming work plans
If the team is using a test case management tool that is available to and easily accessed by members of the team, progress may be more obvious, and detailed notes about coverage may not be so necessary.
Decide on a bug-logging and triage process
Everyone on the test team should understand the process for logging issues. This includes everything from what category (i.e., bug or feature request), how to describe the priority and severity, standards and formatting for reproduction steps, screenshots and videos, and how to indicate what build the issue was discovered in.
For teams that were used to being able to work together closely and discuss issues as they are logged, it’s also important to ensure that team members cultivate a habit of searching the issue tracker before logging a new ticket to reduce duplicate issues.
In addition to bug report contents, it is also important to have a plan for how issues are reviewed and assigned to the development team. In most cases, someone on the team should be triaging tickets before they go to the engineering team or are automatically assigned to a sprint. This reduces duplicate issues, confirms priority, or even vets the bug.
It should be clear to all parties how bugs are assigned and reviewed in order to reduce distractions, but also to remain efficient. For instance, if issues cannot be reviewed in real-time, then testers should know where and how they are expected to communicate information about defects that block further testing or are indications of major problems in the system. For additional resources about defect tracking see these posts about bug reporting.
Determine responsibility for releases and on-call needs
In addition to managing everyday tasks, the remote test team also needs to be clear on less desirable tasks, like who works releases and who gets the call when things go wrong.
Processes for these situations should also be well documented. Create checklists for any release activities that need to be executed by the test team to make efficient use of time, especially in situations where releases may occur after hours.
While we do our best to ensure that our products and services are reliable and bug-free, we also need to plan for failures. Having a clear outline for whom to call and when to reach out is important. If there’s a rotation, make sure team members know when they need to be available.
It’s all about communication, documentation, and planning
The real needs for remote test teams all come down to thinking about proactive and transparent communication across the team. Teams that invest in maintaining documentation and guides can more easily ensure that each team member has what they need to be successful.
Lastly, emphasize planning ahead of time so that expectations are understood, especially when things don’t go as intended. The last year has definitely taught us the importance of this practice.
With the right processes in place, teams can be just as successful from home! For more tips, read this article on how to keep your team productivity and communication intact while working remotely!