Developers and QAs are two sides of the success coin!

Amit Kute
Globant
Published in
8 min readDec 18, 2023

Developers and QAs (testers) are two of the most important roles in the SDLC (Software Development Life Cycle); you can say that both are necessary and have equal weightage for delivering high-quality products. They are both contributing in different ways, but they are working towards the same goals. To achieve a successful outcome, developers and QAs are equally important; they are two sides of the same coin when creating a valuable product.

However, the industry’s relationship between developers and testers is well-known and often portrayed negatively. There is a lot of conflict between these two roles, like Tom and Jerry. Most of the time, QA/Dev tries to prove his/her point without understanding another person’s point of view. This type of teamwork conflict or behavior impacts the process and product quality.

Software Tester versus Developer
Developer vs QA

I understand how frustrating it can be for developers and QA professionals to face conflicts while striving to create a quality product. This article provides detailed insight into the roles of Developers and QA and how they work together to achieve common goals and objectives.

As someone who has worked as a QA engineering professional, I have some recommendations that may help in avoiding such situations and implementing better processes, as below:

Grooming Meeting (Requirement Analysis)

Backlog grooming meetings are crucial to the success of any project, but they can be ineffective without active listening. To ensure that your team members feel heard and valued, listening to understand their ideas, suggestions, expertise, and questions is important. By engaging in a reciprocal conversation, you can gain clarity on their thoughts, summarize their statements, and ask them thoughtful questions. Most importantly, ensure that all team members feel included in the discussion by inviting their opinions and offering ample opportunities to share their ideas without interruptions. By doing so, you’ll create a collaborative environment that fosters creativity, innovation, and, ultimately, success.

In the Scrum Framework, developers and QAs can benefit from grooming meetings. These meetings can help eliminate misunderstandings or concerns by examining the acceptance criteria for user stories. By clarifying doubts beforehand, the QA and Developer teams can work together with a shared understanding, leading to a smoother development process.

Peer Review/Shoulder Check/Functional Review

The shoulder-check or peer review process is done between Dev and QA. In the shoulder check process, whenever the developer closes the particular feature or user story deployment that time before pushing the respective code into the QA/testing environment, the developer initiates a quick connect request to QA to present acceptance criteria for that user story or business requirements. In the same informal review process, the QA asks the developer to verify other cases they are aware of. The QA needs to share the go-ahead once the QA ensures at least a happy path is working properly and applies negative or edge case scenarios after merging the same code in the QA/testing environment. An example of the procedure and how shoulder checks fit in is shown in the flow chart below:

Shoulder Check Procedure

One effective way to promote quality as a team responsibility in the workplace is by implementing shoulder checks. This simple practice makes people more accountable, transparent, and collaborative, which can lead to better understanding and communication between team members. By identifying potential flaws before the testing process, developers can better understand the QA viewpoint on certain functionality, which can ultimately lead to a higher-quality final product.

Valid Bug or Invalid Bug

The developer’s and QA teams’ perspectives frequently differ on the defect level. Testers always test the application while keeping the user experience and business requirements in mind. This process helps testers deliver high-quality products and provide a better user experience. As a result, QA may report user experience issues that a developer would not consider functional bugs. When this occurs, the following guidelines may help both teams determine whether the defect is valid or invalid:

  • The Tester needs to cross-check whether the reported defect has the required information, such as a short description, reproducible steps, Actual Result, Expected Result, Screen capture, test data, the impact of the defect, etc.
  • It will be helpful if Dev and QA review the user story acceptance and business requirements again and check whether the Business Analyst has clearly mentioned all the required details. Acceptance criteria provided by BAs are sometimes functional or business flow-wise at the BRD (Business Requirements Document)/User Story level. In that case, the chances of missing user experience-related expectations increase. It will be helpful to Developers and QAs if BA covers/adds those points under acceptance criteria when this is noticed.
  • The developer should mention the reason for rejection and then comment on it by providing the test record details. The QA should check the shared test record created with defect-shared test data or different test data or steps.
  • A quick sync-up should happen between the developer and QA to reproduce the same defect. Here, QA should take the initiative to raise a quick connect request with the developer.
  • Considering the business perspective, involve a business analyst in the discussion if the QA/developer is confused about deciding defect priority or severity.

Suppose the developer and QA have not finalized the defect type (valid or invalid) after following the preceding steps. In that case, they must discuss it in a defect triage call with the product owner/project manager and try to finalize it.

Teamwork

Communication and respect are two important factors in developing positive relationships between QA and developers. Both will aid in the prevention of negative interpersonal or group dynamics between QAs and developers. QAs must communicate defect information objectively and constructively, while developers must be open to constructive criticism and not take it personally or as an attack on themselves or their hard work. The goal of QA is to proactively improve the user experience and quality. Developers must be confident that bugs are being reported in a neutral, objective manner when they feel at ease with and respect their QA colleagues.

Here, we can say positive team dynamics between QA and developers may be helpful to add more stars to your team’s success.

Key Benefits of Positive Team Dynamics

  • Job satisfaction: Job satisfaction and a greater level of passion will increase in the work when QA and developers help and understand one another in the workspace. Additionally, achieving team goals in a positive culture will be beneficial.
  • Quicker Decision-Making: When QA and Development team members genuinely listen to each other and remain open to diverse perspectives, decisions are made faster and more accurately. Team members can work together more effectively to achieve their goals by creating an environment that encourages active listening and idea-sharing.
  • Greater Commitment: Members of the QA/Developer team are more likely to dedicate themselves to their work and stick with the given task when they feel appreciated as team members on a project or team level.
  • Increased innovation: QA and developer collaboration and diverse perspectives can lead to innovative ideas and solutions to complex problems.

Appreciation

One of the most important pillars of team culture is appreciation. Suppose the developer and QA enjoy working together on a specific feature or phase level. In that case, they should express their gratitude because it helps to improve the team culture and workspace experience. Appreciation is a vital component of a healthy and productive work environment. It is the simple act of recognizing and enjoying someone or something of good quality. In the workplace, appreciation can be as simple as saying “thank you” for a job well done, completing a project quickly, or arriving prepared and on time for a meeting. Showing appreciation not only boosts morale but also motivates team members to work harder and achieve more significant results. Let’s make appreciation a part of our daily routine and create a positive and productive work environment for everyone.

A few examples or situations where the developer’s efforts can be appreciated are listed below:

  • The developer delivers the user story or feature to the QA team on time.
  • The developer covers most of the regression areas in the development cycle.
  • Consider the QA and business perspectives on the QA team’s reported critical or high defects and try to fix them as soon as possible.
  • Provides technical knowledge to the QA team on a complex feature level.
  • Assisting the QA team in finalizing the testing strategy based on technical requirements, user story level, etc.
  • Once the user story deployment is finished and ready to be delivered on the testing side, the developer can provide the QA with a demo.

A few examples or situations where the QA’s efforts can be appreciated are listed below:

  • The QA discovers a critical and high-severity defect related to functionality-level/user story acceptance.
  • Report defects with reproducible steps, screen capture, and test data, which helps to reduce QA and developer sync-up activity.
  • Regression defects help the development team understand how the defect affects business requirements or the user experience.
  • The QA team is sharing the primary defect analysis in the reported defect.
  • The QA team shares test cases and high-level scenarios with the development team to facilitate unit testing.

After all, the developer and QA will be pleased to hear, “Good delivery on time!” Nice catch on finding that bug! / Thanks for the defect in the details. /Thanks for the quick fixes.” etc. The developer and QA will no longer blame one another for bug leaks, and motivation will only rise.

Conclusion

Consider your coworkers as teammates rather than developers vs QAs, as they are both working toward the same objective as part of the same team. Both parties must always contribute equally for a product to have success. When the coin is balanced, success will be evident. Let’s put in the effort and reach our goals!

  • Grooming meetings help finalize requirements and address requirement gaps in the early stages.
  • Peer review is a useful practice to help you verify the implementation of a project from a different perspective. It can provide an alternative viewpoint and help ensure everything is correct and accurate.
  • To reduce the number of bugs, whether valid or invalid, it is important to exchange viewpoints between QA and developers.
  • Establishing and maintaining positive team dynamics and mutual appreciation between QA and developers is crucial for expediting decision-making, enhancing job satisfaction, and implementing practices that foster a positive team culture.

--

--