This particular question strikes almost everybody in the IT industry even though QA has been part and parcel of any feature or product delivery success. I thought to take the opportunity to throw some light on this genuine question as:
We are Quality Avengers, yes you heard it, I call QA a Quality Avenger instead of Quality Assurance as described in Software Engineering books or any organization employee position list. Now let's look back the phases (trust me we still continue to follow them in an Agile Team in a shorter time scales unlike waterfall model) in any project/feature/product deliver and Let's try to understand my mindset why I call them Quality Avenger:
Requirement phase - We (as QA) work with the Product Owner, Product managers or stakeholders responsible for the requirement. QA has often made significant contribution when asks right question at this stage because the mentality of a QA is finding weakness early so that it can be prevented. Sometimes QA even drive enhancements in the required criteria to make them more understandable by the rest of the team.
User phase
Work with Product Owners to give demos to the customer and see if there is any gap found which can be filled in a short term.
Design phase
We (as QA) work with the Product Owner, Product managers or stakeholders responsible for the requirement. QA has often made significant contribution when asks right question at this stage because the mentality of a QA is finding weakness early so that it can be prevented. Sometimes QA even drive enhancements in the required criteria to make them more understandable by the rest of the team.
Development and Testing phase
At this phase, we create test automation to regress existing functionality and creating automated tests for new functionality so that we continually get feedback on how well our feature/product/project are working.
Work on the processes with Delivery Managers.
QA takes best advantage of BDD tools to make a bridge between developers and product owners. Meaning writing the business scenario first and writing the supporting functionality to make the business test work as expected.
QA also designs a Test Automation Framework, so the rest of the team can automate the tests.
QA helps or takes responsibility to maintain Test Automation Framework.
Create test automation suites or packs for continuous integration & delivery.
If necessary QA also creates data which become useful not in testing, but in product demo too.
QA performs manual exploratory testing and different types of testings (will cover in the next post) to find bugs in the product in the process to Go Live.
In case of bug finding, working with developers to get it fixed and working with product owners
Deliver/ Release phase
We work with Dev Ops to deploy stable and tested version to Production.
Production phase
QA helps to reproduce bugs found by end users in the production and accelerate the discussion to find the priority and severity of the bug with the Product Owners and to get it fixed by the developers, tested and deployed by Dev Ops.
Conclusion
One thing is common in all these phases which QA creates that is CONFIDENCE. If QA of your team is not signing off the product, how many of you would actually go and deploy the product to Production. Question to ask yourselves? Think...
I do trust you will believe now we are not just Quality Assurance but Quality Avengers!
Someone recently said QA is unsung heroes, I agree with him. When the product goes live only a few remember without the confidence of QA. Nobody could be able to release a product or claim the product has a cool feature if QA hasn't’ signed off.
Trust QA has done equal work as you (Developer, Business, Managers, UX, Leads, Coach, Dev Ops) to deliver the product on time and with the Quality as expected.
Moral of the story, Praise and Recognize the work of QA in your team!!!