Is Quality Engineering Another Buzzword to Sell You More Stuff?
If you follow the software testing industry like I do, you are probably getting many messages about “Quality Engineering.” All the vendors tell you how their tools are ideally suited for Quality Engineering. I always welcome the new industry buzzwords with great skepticism.
Most buzzwords start as a way to explain the changes already happening in the industry and provide a common language for everyone to communicate effectively. The problem is when the vendors jump on the bandwagon and try to use them to sell you stuff you might not need.
Software engineering is still very young compared to most engineering fields, so changes are coming quickly. You are constantly navigating a sea of vendors trying to sell you something. Remember, there will always be buzzwords.
At the beginning of the century, we all wanted to be Agile (it does not matter if it is uppercase or lowercase). Then, someone came up with the term DevOps. DevOps felt like someone stating the obvious for those working in an Agile context. We were already doing it without the need for a new title. By the way, the title DevOps engineer does not make sense.
Here’s why: ChatGPT says a DevOps Engineer works on Automation, Continuous Integration (CI), Continuous Deployment (CD), Infrastructure as Code (IaC), Monitoring, Logging, Collaboration, Security, Release Management, Cloud Computing, and Version Control. At RocketMatter, our engineering team took care of all of this work, and no one had the title of DevOps Engineer. If you are doing Agile, you will arrive at this place without anyone telling you. In most places, the old Systems Engineers are now DevOps Engineers.
Anyway, I digress a little bit. Let’s go back to Quality Engineering. I asked ChatGPT to define Quality Engineering for me. Here is the output:
Quality engineering is a discipline within the broader field of software engineering and product development that focuses on ensuring the quality of a product or system throughout its lifecycle. The goal of quality engineering is to implement processes and practices that lead to the delivery of high-quality products that meet or exceed customer expectations.
Key aspects of quality engineering include:
- Quality Assurance (QA): This involves the systematic monitoring and evaluation of the various processes used to produce a product. QA activities aim to identify and address any deviations from the established standards and processes.
- Testing and Validation: Quality engineering involves the design and execution of various testing activities to verify that the product or system functions as intended. This includes unit testing, integration testing, system testing, and user acceptance testing.
- Process Improvement: Quality engineering often includes a focus on continuous process improvement. This involves analyzing existing processes, identifying areas for improvement, and implementing changes to enhance efficiency and effectiveness.
- Metrics and Measurement: Quality engineering relies on the use of metrics and measurements to assess the quality of processes and products. This data-driven approach helps in making informed decisions and identifying areas that require attention.
- Automation: Automation is a key component of quality engineering, especially in the context of testing. Automated testing helps in executing test cases more efficiently, ensuring that software is free of defects, and facilitating faster release cycles.
- Collaboration: Quality engineering emphasizes collaboration among different teams involved in the development process, such as developers, testers, and product managers. Collaboration helps in identifying and addressing quality-related issues early in the development lifecycle.
- Customer Satisfaction: Ultimately, the goal of quality engineering is to deliver products that satisfy customer needs and expectations. This involves understanding customer requirements, incorporating feedback, and continuously improving the product to meet evolving customer demands.
Quality engineering is not limited to software development; it can be applied to various industries and domains to ensure that the final products meet high standards of quality and reliability. It is an integral part of the overall software development and product engineering process, contributing to the delivery of successful and valuable products to end-users.
Once again, I was doing Quality Engineering when I joined Ultimate Software in 2001. The good news with Quality Engineering is that no one is claiming they created Quality Engineering. But you can find some interesting takes that do not match. For example, the answer provided by ChatGPT says that QA (Quality Assurance) is part of QE (Quality Engineering). The following article from testbytes (https://www.testbytes.net/blog/quality-engineering/) states the opposite: QE is a subset of QA that specifically focuses on engineering practices to achieve desired quality outcomes.
The confusion does not stop there. In a poorly-written article in The QA Lead, the author says that Quality Engineering differs from QA (Quality Assurance) and QC (Quality Control). He throws every agile testing buzzword that has come out in the last 25 years in a bucket: QE includes CI, Shift Left, BDD, DevOps, TDD, and even AI. I have not read anything this clueless in a long time.
Even the modern Encyclopedia Britannica we called Wikipedia has a definition that does not match: Quality engineering is the discipline of engineering concerned with the principles and practice of product and service quality assurance and control. In software development, it is the management, development, operation, and maintenance of IT systems and enterprise architectures with a high quality standard.
In this definition, Quality Engineering includes both QA and QC. So what is Quality Engineering? I am not sure. Maybe QE is all that code I wrote at Ultimate Software to automate the creation of test environments in our data center. I may be confused; it could be DevOps or both. Maybe QE is our focus on building a continuous improvement culture with each development team. That sounds like Agile and Lean. Do you see my point?
While the term Quality Engineering is older than Agile, someone has decided to repackage it to sell you more stuff. Be skeptical whenever a vendor tries repackaging their tool suite using a new buzzword. Do not drink the Kool-aid. Instead, focus on your customer needs. You are on track if you work on resolving your customer needs.
Thanks to Agile, I learned about Lean and Deming. I learned that Quality was a non-negotiable aspect of product development. But Quality is a never-ending journey. It is a relentless pursuit. We only improve quality through a culture of continuous improvement.
About the Author
Testaify founder and COO Rafael E. Santos is a Stevie Award winner whose decades-long career includes strategic technology and product leadership roles. Rafael's goal for Testaify is to deliver Continuous Comprehensive Testing through Testaify's AI-first platform, which will change testing forever. Before Testaify, Rafael held executive positions at organizations like Ultimate Software and Trimble eBuilder.
Take the Next Step
Join the waitlist to be among the first to know when you can bring Testaify Functional for Web into your testing process.