Agile is all about working collaboratively with people who have different skills and mindsets to achieve a common goal.
When we look at a typical scrum team, it consists of developers (both front-end and back-end), QAs and scrum master.
It surprises me when some people who are agile advocates with many years of experience working in agile environments still refer to as having or building up a QA team to support the agile projects.
When we start referring to QA as a team, it immediately creates a partition between developers and testers and removes the responsibility of developers doing their due diligence to test their own work and produce quality code, because there is a “QA Team” who will work hard to find all the bugs in the system.
This model of working resembles waterfall and V-model projects with throwing the code “over-the-wall” attitude which produces low quality software, the very essence of which agile methodologies are aiming to fix!
In agile projects, QA should be embedded in the scrum teams because testing and quality is not an afterthought. Quality should be baked in right from the start.
By constructing a QA team, we fall in the danger of separating the testers from vital conversations with the product owners, developers, etc.
Testers can add immense value to the quality of the project when they participate in sprint planning meetings, solution work shops, and pairing with developers to ensure code is tested with good and meaningful unit tests.
Technical QAs embedded in agile teams can help with automating acceptance tests along with development making sure that new features work as intended.
Some organizations have a QA function with possibly a QA Manager whereby a number of testing experts provide the overall testing practice, strategy, guidance and approach to testing for the QAs in agile teams.
The QA function is not directly affiliated to any of the agile teams but act as SMEs across different teams and are responsible for advocating best practices to make quality software.
The QAs in the agile teams are encouraged to be the voice of QA for their respective teams, ensuring that their team follows the best practices as set out by the QA function and work towards Continuous Testing.
So, in agile organizations, instead of talking about “having a QA team” maybe we should be referring to building up a QA practice and the good QA practice will imply that the QAs should be embedded in the agile teams ensuring quality throughout the software development.