The company you are working with has restructured your projects under the Waterfall model and converted them into Agile? In that situation, if it’s a QA, what can you expect? To start talking about the role of a QA in the Agile model, we may first need to discuss the different roles in the most agile methodologies of systems such as XP and Scrum. In Agile model, there are 3 main roles: Scrum Master, Product Owner and Development Team.
To start talking about the role of a QA in the Agile model, we may first need to discuss the different roles in the most agile methodologies of systems such as XP and Scrum. In Agile model, there are 3 main roles: Scrum Master, Product Owner and Development Team.
- The Scrum Master is a service provider’s leader, who leads, leads the development team, communicates with stakeholders, handles project obstacles and clears the way. for the development team, in addition to being an observer and moderating the standard process, and acting as a supporter.
- The product owner acts as a bridge to customers, analyzes requirements and gives customers a view of the product, creates and manages the core attributes of the product, and holds the right to make important decisions. Most about the project’s business.
- The Development Team is an organizationally autonomous group, composed of many people and carrying out various things with the sole purpose of “getting the job done.” We must note right here that there is no standard set of personnel for a Dev Team. This has led many people in the IT world to believe that a standard QA employee is not necessary in an Agile project when everything can be done only by the remaining members. However, most of the Agile model Dev teams include System Architects, Business Analysts, Programmers, and QA Analysts. The collaboration between QA and Development in Agile is to remove boundaries and enhance cooperation in the work environment. When testers and software developers work in sync, you will be able to create higher quality work in less time.
So what is the exact role of QA in agile? What can a tester do to help start a partnership with the Development Team?
1. Communicate / Interact / Collaborate
In a Waterfall-based project, a traditional QA depends a lot on the following three things: Process, Document, and Tool. With these three in hand and the active participation in the project, the QA department can test the product to the deepest corners, on a large scale to ensure it complies with the release requirements. In Agile, these three things lose their inherent importance because Agile prioritizes individuals and interactions over processes and tools, promoting a software that can work better than a clear set of documents. enough. And the interaction between teams will take place during meetings, and specifically the role of QA in meetings to be as follows:
- In Sprint Planning : QA helps determine the scope of the sprint’s scope by setting acceptance criteria for user scenarios, estimating the complexity of each scenario, and clarifying details in detail. set of scheduled tasks for each scenario. During the Daily Stand-up, QA will list which tasks were completed the previous day, which tasks will be focused on handling today, and what problems and issues need to be addressed.
- Daily Stand-up : is a inevitable regular operation of a Sprint where the team will announce their progress and QA plays an important role because they can determine when the scenarios are completely completed. , which has a great influence on the overall progress of the team.
- Sprint Review: QA also plays a big role in the Sprint Review. Normally, QA will be the product demo run in Sprint Review and will show customers the functionality released in that Sprint. It is important for QA to demonstrate their level of knowledge about the system and about each scenario they demo because it proves to customers and stakeholders that their product is shaping up properly. their requirements.
- Sprint Retrospective: In the traditional system development lifecycle, the post-project dissection activities are the QA team’s own domain. QA teams focus on the process and analyze what works, what doesn’t work, and suggest ways to fix them. In Agile, this review is the responsibility of the entire team in the Sprint Retrospective. This meeting should be the place where QA shines because a review of the process is the activity that QA has been working on all the time.
2. Convergence QA and BA
In Scrum teams, we often see the responsibilities of QA and the Bussiness Analyst (BA) begin to converge. BA is often responsible for creating and maintaining sprints and backlogs, analyzing user stories from a business perspective, and evaluating the priority of backlogs from the product owner input. On the other hand, QA is usually responsible for defining / refining the acceptance criteria for each User Story, checking the completed functions of each Sprint from the end-user perspective, and ensuring all functions. Previous completion no other problems. When QA examines each User Story and verifies that acceptance criteria have been met from the end-user perspective, they are also analyzing User Story from a business point of view as BAs. So, in many ways, QA and BA share many responsibilities, skills and common goals.
Typically, the Scrum team receives their User Story and the project scope is predefined from the Product Owner at the beginning of a project. However, the Scrum team is encouraged to suggest new features or change existing features if it will improve the user experience. The team is also encouraged to suggest changing the priority / order of the User Stories in the backlogs when they find it more effective to follow another order. Whether defining requirements, analyzing User Stories, defining / clarifying acceptance criteria, building acceptance test cases, or working closely with customers, we can see the role of QA and BA are clearly converging. However, the fact that QA and BA share work together is only beneficial for small groups, while for large groups, there is a need to clearly identify the two roles above to avoid questions or mistakes. and from the team members.
During the traditional system development lifecycle, the QA team is responsible for the regular delivery of full statistics reports on the status of the project. However, in Agile, when the top priority is the workable product rather than the standard document, the QA team will no longer be required to provide detailed and lengthy data reports often. The Scrum Master will be responsible for providing those reports to the team along with a progress table for each Sprint and a general progress table that will reflect the overall status of the entire Project. If the QA team is required to make such detailed reports, go to the Scrum Master and talk frankly about the report value as well as whether that value will affect the achievement of the Sprint goal. . In most cases, reports provide little more information than what is known and even if reports are needed, it is the responsibility of the Scrum Master to write them. than that of QA team.
What QA team must do in Agile model is not significantly different from that in traditional models; The difference lies in the way the QA team accomplishes its task.
- The QA team needs to focus on neat, flexible processes, tools and documentation – very different from traditional models.
- Secondly, the QA team needs to focus on a collaborative working environment, mutual trust and working together to increase the value of the team.
- The QA team needs to grasp the idea that completing tasks as soon as possible forces them to always question the value that each mission brings. If a task has little value or doesn’t push the team closer to the common goal, talk to the Scrum Master and the whole team to decide whether the job should be discarded or not. On top of that, becoming a productive Agile QA requires only a little retraining on the most important goal of the project: quickly achieving quality products that can be released.