When you are thinking about QA, testing is the most likely action that comes to your mind. Although testing the software is the main task that QA must take ownership of, it is not the only contribution that QA makes. A company and the teams can benefit from QAs because they can make meaningful contributions in many aspects besides ensuring the quality of the products. In this article, I would like to introduce three collaborations with examples that can be done by QAs and the values they can bring to the companies and teams to enhance the processes and quality.

As you may know, software goes through 7 steps to be produced and delivered to the end user. It is known as the Software Development Life Cycle(SDLC):

Planning:

In the planning phase, the team will define goals and requirements based on the feedback that comes from the customers or market research team.

Feasibility Analysis:

In this phase, the team evaluates different situations that they might encounter while they are implementing the project. They may consider technical viability, costs, risks, and challenges.

System Design:

Software architecture is created in this phase to help the development team. This step may include preparing UI and compatibility requirements.

Implementation:

Based on the design specifications, the team is developing the software.

Testing:

In this phase, we identify and fix bugs, failures, and issues through various testing types to ensure the software operates as expected.

Deployment:

In the deployment phase, the software is released to end users.

Maintenance:

After we release the software, it is needed to monitor and support it. We will update and improve the features in this phase and if we find any issues or bugs, we will fix them by giving the users an updated version.


One of the contributions that can be made by QA is in the third step of SDLC, which is the system design stage (phase 3). In this step, the development team will conduct a comprehensive investigation to understand the requirements and find a solution to implement. When they have the solution, it is time to design the solution. This is where a QA can come in and make a meaningful contribution.

Why QA should contribute to solution design sessions:

When QA engineers get involved from the start point of the project, they ensure that quality is applied throughout the project. This proactive approach can prevent the team from encountering expensive problems later.


During the development phase of SDLC (phase 4), the team is developing the software task by task based on planning that is sprint planning in Agile methodologies which is held at the beginning of a sprint. In sprint planning the team members come together to determine the tasks to be completed during the next sprint. When we are planning the tasks, it is crucial to set clear goals and ensure that all team members are on the same page about which backlog items they are going to work on. This alignment helps the team stay focused on their goals and move forward efficiently. During sprint planning, the tasks are allocated to the team members based on their capacities and they estimate their assigned tasks. This is another point where QA must come in and take action.

The Role of QA in Sprint Planning:

Sprint planning is vital to have a successful sprint. QA participation in sprint planning leads the team to have qualified outcomes and fewer issues. It also improves cooperation spirit in the team. Moreover, important quality aspects can be missed without QA and they prevent the team from experiencing delays and doing repetitive work later. For example, imagine if QA is not involved in the sprint planning session, the development team would give the estimation on testing activities. This would be an unrealistic estimation as the developers see testing from their point of view, not the end user’s view. This causes delays in releasing the feature because QA can not finish testing on the developer’s estimation. Another example is that, imagine your team is developing a new login method and they do not provide clear acceptance criteria for compatibility testing on different OS like iOS and Android. During testing, the QA should ask the team about compatibility criteria; it generates confusion and waits.


After we release the product, it is time to maintain, monitor, and improve (phase 7). In this phase, the team usually goes through retrospective sessions to share their ideas to facilitate teamwork, address obstacles, make the processes smoother, and foster continuous improvements. A quality assurance professional should join the retrospective meeting because they play a main role in maintaining the overall quality of the products and it can be spread to the quality of the processes.

QA’s Impact in Retrospectives

By taking part in retrospectives, QAs would contribute to having efficient and effective working, testing, and software development processes. They also help the team learn, and understand testing challenges and QA concerns. For example, the team released the application in the previous sprint, and a bug is reported in the following sprints. QA can leverage testing management tools such as Testrail and defect tracking systems like Jira to identify why the bug has been missed and add it to the test cases for future maintenance. Another example, imagine you released a ride-sharing application and then some defects that are related to a specific area of the application happen repetitively. QA can find the exact scenario and suggest automating the area for future sprints.


In conclusion, QA is not about just getting the test done, it can go beyond it. It is about meaningful collaborations, confirming the quality, and helping the team throughout the software development journey. When QA comes into action in the early stage, they can bring profitable inputs that make the operation more reliable. They take care of the issues and address them before they become disasters and get the team into trouble. Quality assurance isn't just about finding bugs; it's about being a helpful team player and contributor to delivering amazing and user-friendly products. In addition to that, they can play a key role in finding effective solutions to the challenges as well as the user’s needs.

Resources:

https://www.atlassian.com/agile/software-development/sdlc

Image header by icomaker on Freepik