I am told there is no QA role in Agile Development – Is it True?
Traditional waterfall software development life cycle consists of clearly defined phases from Planning and requirement analysis, Defining Requirements, Designing the Software, Developing the project, Testing, Deployment, and Maintenance, so testing as a role is defined clearly, no one can neglect.
But with the need for different software development life cycles because of the fast pace of the market, agile developments started rising, and agile for some people isn’t just a project management methodology, they consider agile as a philosophy.
“Agile is to continue delivering, with quality; ASAP and AEAP; as soon as possible; as easily as possible” ― Agile Able: Project Management Simplified
so you might face the situation of being told that no QA role in Agile Development, this is because agile isn’t introduced as a set of phases or steps but it was introduced as values and principles, it doesn’t explicitly define that there is a phase for software testing, instead, it divides the whole project into sprints, sprint is a short period where the development team delivers a specific task, so the delivered task must be tested .so here’s where the need for software testing come.
One of the related principles for this question is the “Whole Team Approach ” the whole team approach states that everyone in the team is involved in the software development life cycle starting from the product owner to the developer, tester, customer, and any other involved stakeholders.
But as agile is not like the other traditional cycle like a waterfall, the QA engineer in agile needs different skills to adapt to its nature, as QA will not wait for the development to be finished so he can start testing, instead of testing needs to be done faster and continuously while developing new features and delving newsprints, so he can need to make continuous testing.
Continuous testing is defined as the process of executing automated tests as part of the software delivery pipeline to obtain immediate feedback on the business risks associated with a software release candidate. so it will satisfy the need for fast feedback in an Agile environment.
Besides the technical skills needed to be a good software tester, there are other skills needed like interpersonal skills, as agile mainly depends on communication and collaboration between the whole team, he will attend the different meetings and participate in different activities of the development cycle as we mentioned above, interpersonal skills will make it easier for the tester to show his point of view and to understand others clearly.
Agile is culture-based so you need as a part of the agile team to build this culture in your team, finally, we can end up that software QA is a part of the software development life cycle whether it’s a waterfall, iterative or agile, neglecting the QA role of agile is like neglecting the QA process as a whole for the software development which definitely will result in many defects, and having the QA role will ensure having in high quality, fast delivery software product and happy customers for your software.