Why are QA Engineers Not Needed (But Still Requires QA)
For so many years, the companies have relied on a group of people for quality assurance – Testers, QA Engineers, etc., to be vigilant and help software development teams to deliver high-quality applications. We spent our days testing, reporting defects, debating business requirements, and wondering if it was a feature instead of a bug.
Perhaps the world is changing; we understand this new era requires different approaches, breaking the silos and collaborating more. Still, Are we prepared to see a world without Quality Assurance Engineers? Unfortunately, some companies do think so and are merging the QA roles with the development roles.
Under the same way of thinking, many companies are switching from “trying to test everything” to “test as fast as you can, and deliver quickly.” Currently, we have seen several companies minimizing the importance of QA and increasing the adoption of DevOps. Perhaps, it is time to rethink if we want to focus on speed instead of Quality as a core value. Even in Agile, Testing activities can be a big challenge because proper Testing can take time.
Table Of Contents
Everybody wants to build something.
Everybody wants to build something; it feels incredible creating a piece of software or a fantastic application. Still, when we make something for ourselves, we expect some Quality work, even perfection. As Vonnegut Jr mentioned in his quote, another flaw in the human character is that everybody wants to build, and nobody wants to do maintenance. The same applies to software development and the high cost of Quality and Maintenance.
“My name is Ozymandias, king of kings;
Look on my works, ye Mighty, and despair!”
Nothing beside remains. Round the decay
Of that colossal wreck, boundless and bare
The lone and level sands stretch far away.”
Extract of Percy Shelley’s “Ozymandias”
In my experience, I’ve seen several startups trying to deliver their Minimal Value Product (MVP) faster. Still, it becomes a nightmare when they try to implement a Quality process later, or even worse, postponing some critical features because some complex bugs are found. So my suggestion for those starting a new project or a new application is that you must consider quality earlier; perhaps later, it could be costly.
We all Have QA responsibilities.
Indeed, we all have QA responsibilities, and sometimes it is worth repeating it out loud.
There are moments in our software development life cycle when we are perfectly aware of what we are building and have some idea of what we need to validate, exactly when and where we need it the most. Still, there is a sort of uncertainty if we are validating correctly. It should maintain a balance between what we are building and what we are validating. Everything must be working perfectly.
But then there are circumstances when we are almost totally blind about our actual capabilities and strengths related to quality. Our quality mindset is literally on vacation. Although the teams understand why quality assurance is needed, still, some guidance is required; we feel that everything is off track. It is relatively easy to lose track in this new world where everyone is responsible for Quality, and none is responsible for that.
Don’t get me wrong; every person within the Agile teams has to consider Quality at every stage in our projects. However, a group of people cannot just own it (As the role of Tester/QA Engineer doesn’t exist anymore in some companies.), nowadays, in this new era of the world without QA Engineers, who should be the ones helping us to embrace Quality as a core value and encouraging us to follow best QA practices?
The Importance of Quality and the Rise of QA Heroes
The good news is that most organizations understand why quality assurance is still needed. They fill the gap using the developers and DevOps staff playing an even more active role in QA operations. I have seen those teams working more closely. However, instead of just communicating and cooperating with quality assurance engineers, they will need to get more hands-on with software testing and quality optimization.
Let’s be frank; it could be challenging for developers and DevOps engineers to own QA if it means more work and time. That’s why it’s critical to empower them with tools, training, and coaching to make QA activities efficient.That’s why we need QA (Quality Assurance) Heroes, those who can help the scrum teams to develop strategies and practices and embrace a Quality mindset, even for those who have no prior experience in QA.
Key points to consider:
- Educating about Quality. Developers already know how to code; it’s what they do, so learning an automated testing framework and writing tests is not a massive issue. Still, in order to improve quality insurance, we need to train the team to increase their product knowledge and make them better testers. In addition, we should be focusing on the add value part of testing and customer perspective scenarios; we must offer ad-hoc advice related to Quality and make recommendations to create better Test Scripts. QA Heroes can be helpful in all of the areas above.
For example, here are some tools that team members should know about to improve their knowledge:
1. Free and Open Source Test Automation Tools: The open source tools are a unique opportunity to contribute to the testing community. Contribution can be in terms of improving the quality of the code, or adding new enhancements and features that could help improve the test automation efficiency for you and teams worldwide.
The top 3 open source tools that deserve a try are:
The github repository is here: https://github.com/appium/appium
2. Premium Test Automation Tools: These tools are mentioned here: https://testsigma.com/mobile-testing-tools
3. Tools for other day-to-day activities for Testers: Mentioned here: https://testsigma.com/mobile-testing-tools
- Continuous feedback. In order to meet the quality assurance needs, the whole team should be aware of testing activities and understand high-quality standards. QA Heroes can help the team to define testing activities, and organize testing sessions. It’s essential to establish a continuous feedback loop directly between scrum teams so that each group can discuss Quality issues with the other group.
- Everyone is responsible for Quality. Every developer and DevOps engineer should share ownership over software quality from a cultural perspective. In the absence of QA engineers, there is no one whose primary job is software testing; as a result, it falls to the whole team to own Quality Assurance completely. Each team has its context and is expected to do experiments and adapt the Quality process to deliver high-quality applications.
- Reinforcing Quality. If we don’t verify and adapt in case of a glitch, the risk of quality problems will go up. QA Heroes can help the team get into the swing of things. Since their role is to guide and provide advice related to Quality, the whole team should not rely on the QA Heroes to test their work.
Last but not least, the teams should be encouraged to focus on prevention rather than detection.
Bonus – QA Roles are still relevant
As we noticed, Quality Assurance is still critical in delivering the best experiences possible to today’s demanding customers. Consumers worldwide expect their digital products to improve over time, and with each new update, their expectations rise. If they are unhappy, the cost of switching software is zero.
Moreover, there is no room for critical errors; companies are still requesting QA Engineers to automate testing, identify real-world scenarios, and implement different testing approaches. So the QA roles must ensure they can keep high-quality even as development moves faster.
The overall job outlook for QA Engineers has been positive since 2019. Vacancies for this career have increased by 4.97 percent in the US, with an average growth of 4.97 percent per year. As a result, demand for Software Quality Assurance Engineers and Testers is expected to increase, with 308,390 new jobs filled by 2029. It represents an annual increase of 2.32 percent over the next few years.
Quality is not trying to slow down innovation in scrum teams. However, it must be seen as a critical part of software development to deliver more innovative applications. In the real world, many organizations don’t have QA teams at all or are large enough to handle all QA obligations on their own. So that’s another reason why making QA the responsibility of everyone involved in the Agile projects is critical.
Agile may be killing traditional QA roles. But that doesn’t mean all QA roles are disappearing. It could be possible for certain companies to move forward without a dedicated QA team. I genuinely believe that approach can be demanding for developers and DevOps Engineers. Giving agile teams additional resources that quickly scale, each testing approach keeps developers moving faster and adjusting to customers’ high demands.
As QA heroes, we must always positively impact our testing landscape.” – Enrique A Decoss
Happy Bug Hunting!