There was always tension between quality assurance specialists and software developers. It’s natural that developers may secretly hate testers seeing them as disruptors of their pieces of art covered in code that took enormous efforts to produce. The testers on their part sometimes complain about developers creating software with too many bugs. These stereotypes can serve as a ground for the conflict.
But it shouldn’t be so, especially with the global Agile adoption, where the priority over processes is given to people and communication, especially taking into account that they are working for the one cause: delivering the software that corresponds to all the business requirements and brings great user experience. Both of these departments are equally critical for the project delivery as it’s not possible to release without the written code that is thoroughly tested.
So here’s how to achieve better collaboration between your dev and QA teams:
Develop a thorough approach to QA documentation
Make sure to set up certain requirements to the QA documentation, like including steps to reproduce the issue, a clear description, and the faulty string of code if possible, and so that it’s easier to work with the bug reports. With automating your web testing, it may be easier to achieve unified processes by setting up the format of the report in the automation tool. The main idea here is to simplify QA’s feedback processing for the development team, as they will not have to go back and forth on some сontenious issues like something is working on one machine and is not working on the other, or something that was working fine before suddenly seems broken.
Start testing as early as it’s possible
The shift-left movement in the project lifecycle where the testing is starting in the early stages contributes to collaboration between testers and developers. This way, some critical flaws can be spotted faster, and forwarded for fixing. As a rule, it’s much easier to fix something at the beginning than later, because with time, more and more dependencies are added, and one string of code that requires changes may bring issues in the performance of other components.
The lack of understanding between the teams can have a negative impact on the final product. That is why you need to foster communications between the teams so that they can voice their concerns and share ideas on how to work better. This includes collaboration during the course of the project as well as on the common scrum events like planning, and retro sessions. This way people learn to hear one another and improve their soft skills. One more great practice is keeping each other informed about the priorities, current activities, and course of actions to reduce the impact of dependencies and avoid working in silos. It can be done through the regular sprint release notes, or other reports in your task tracking tool like Jira, or Trello.
Engage QA teams in the code reviews
Unfortunately, in most companies, the code review process is designed only for developers. Involving the QA department in these activities seems unnecessary here, as it can cause delays. In fact, it’s a misconception. Testers can see the codebase and get better acquainted with the technologies used in the project to properly write their tests. The code reviews of QA tests where the dev team is present can make a contribution to the quality of test scripts. Also, the fresh eye from the outside can quickly spot the issue in the code. Overall, the process can help to achieve a better understanding between the processes and tools present in both teams that facilitate the communication.