Whenever it comes to Agile software development methodology, there are a few Manifesto and Agile Principles that comes to the mind.
As we can see, Agile completely believes in
“Customer Satisfaction, feedback loop, team collaboration, quick delivery, embracing change request, trust and support, face to face communication, working software, sustainable development, continuous attention, mentioning the simplicity, self-organizing team, reflect and adjust.”
The intent behind coming up with Agile looks quite interesting.A quick view on Waterfall model
Let’s talk more from a QA standpoint. As we know, traditionally, in the Waterfall model of Software development workflow would typically look like this.
In the traditional software development approach, the complete software development process is splitted into different phases. The output of one phase is acting as a Input for the next phase. This indicates that any phase is incomplete if the previous phase is not completed. That is the reason, the waterfall model is called a sequential model. In sequential approach, the phases flow towards the downward direction through the phases of Requirements, Design, Implementation, Verification, Maintenance as shown in figure above.
In traditional software development process, requirement would be frozen during the initial phase followed by which development of software would begin. Hence, Software testing life cycle will typically look like this-
So a Qualitative Analyst (QA) would follow the below workflow-Requirement understanding -> Brainstorming -> Writing Test Scenario -> Writing Test Cases -> Verification -> ReTesting of defect (if any)
The above workflow makes sense in the world of Waterfall model. However, with high Agile acceptance in the industry, a shift from Waterfall to Agile Mindset is required. In case of implementing QA Mindset for achieving Agile Manifesto, more of a ‘Shift-Left’ testing is embraced. The entire team is highly involved right from the Requirement understanding phase to Delivery/Maintenance phase.
So the bifurcation between the Software Developer and QA is not there in a team which truly follows Agile. The entire team works together towards a defect tracking instead of finding them and verifying during the verification phase.
Steps Towards Developing QA Mindset for Successful Agile Manifesto
Let’s talk more from Ground 0 now.
During the Grooming phase, Developer and QA pair up with each other and come up with their set of understanding and discuss among themselves around the requirement. Once the brainstorming is done, a list of Open questions are posted to the client for clarification around the same.
Post Grooming, the Sprint planning phase kicks in, wherein, based on the answers given by the client, the teams have a better visibility around the requirement. Hence, realistic estimates are given for the User Stories inclusive of Development/Quality Analyst/Business Analyst pairing.
Post Planning, the QA starts with writing Test Scenarios/Cases activity. During the course of documentation, QA and Developer team collaborate with each other to ensure they are on the same page. In case of any scenarios that were missed by either of the team, they take care of the same during the Coding/Documentation phase itself. It helps in eliminating the late defect cost.
Once the developer is done with Coding and is about to get started with dev testing, a QA member pairs up with the Developer to ensure things are working as expected at a high level.
Once the Code is ready and is deployed to QA environment, QA starts with the end-to-end verification of the story. Hence, the possibility of discovering a defect decreases exponentially.QA in Waterfall vs. QA in Agile
In the Waterfall model, QA used to get appreciated based on the number of defects that were found during the verification phase. As a result, somehow teams use to work in a silo which would result in the change of the entire codebase, sometimes the architecture itself. As a result, cost of project would go up significantly as described in the below image.
On the contrary, in case of a team which follows Agile truly, a Developer/QA gets appreciation based on Minimal code changes and less number of defects found. There is a high acceptance of Shift-left testing in the industry because of the amount of benefit it has brought in terms of effort saving for rework.
So, Agile Testing is not a unique way. It needs to integrate successfully QA Mindset into Agile
Manifesto. It is a kind of change in the mindset which does not happens overnight. Along with that, it requires knowledge, skill-set, and proper coaching. Hence, a shift in the Agile QA mindset is required to ensure a high throughput from a team. This article is focused on changing a mindset to Agile by providing the tips for implementing QA Mindset into the Agile Manifesto.
Please share your thoughts in the comment section, we can connect on LinkedIn and talk more. If you enjoyed this post, it would be great if you’d help it spread it to your connections on LinkedIn or other channels.