What is Quality Engineering, and why is a transition to QE important for my organization?
At tapQA, we typically start our partnership with clients due to challenges they are having with their quality journey. In many cases, our clients come to us with stories of unhappy users and customers due to slow performance, unexpected bugs in applications, poor point of sale or eCommerce checkout experiences, and faulty data, among a host of issues.
Over the past 20 years, the importance of product quality has grown exponentially and continues to grow today. Modern end-users expect a fast, seamless, bug-free experience. In a competitive landscape, end-user satisfaction, and ultimately product Quality, is the deciding factor between the successful adoption of technology or obsolescence.
Many organizations have traditionally practiced Quality Control and Quality Assurance, but in the modern software development world guided by Agile and DevOps principles, those that adopt Quality Engineering methodologies see an increase in product quality, speed to market, and ultimately higher customer satisfaction, aligned with business objectives.
What is Quality Engineering?
Quality engineering is more than just a skill set. It is an entire mindset of embedding quality into the fabric of software development throughout the entire life cycle. The responsibility for software quality isn’t shouldered by one team. Successful quality engineering organizations infuse quality from the first moment a product is defined and designed, and it continues on throughout the development cycle.
In quality engineering organizations, product quality is everyone’s responsibility, regardless of one’s level or role on a project team.
Quality engineering represents an organizational shift, from QA bug finding to how do we create the best possible software for an optimal end user experience?
How does QE differ from Quality Assurance and Quality Control?
Traditionally, when we use the term Quality Assurance, we often mean to use the term “Quality Control.”
Quality Control (QC) and software testing teams are traditionally tasked with finding defects in products, most often at the end of a product life cycle. QC teams test products to ensure they are meeting the requirements established during the early phases of a product, and are fit to be released to their user base.
For many organizations, QC is a very reactive approach that focuses on functional testing only.
Quality Assurance (QA) focuses on a strategy of preventing defects proactively. Whie QC teams identify and fix defects, QA helps to prevent the bugs from happening in the first place. Processes and methods are defined with quality in mind, and metrics are established for traceability.
With the rise in Agile, QA processes are instituted throughout the product life cycle, and QA professionals are embedded in smaller teams, testing much more frequently throughout the process, as opposed to the end of the cycle.
While organizations that have shifted from QC to QA have gained advances in quality throughout the life cycle, many still feel that testing is done too late in the process to have full impact, and the value of testing is often linked to the skill of the tester.
While QC and QA principles are still important within the SDLC, Quality Engineering (QE) has emerged as a mindset to ensure companies are releasing better software, faster. QE goes beyond traditional QA by ensuring all members of a software team are collaborating with one another on ways to make a product better, ensuring quality is measured and met throughout each phase of a software project.
With QE, the changes made to process, people and technology allow for better quality throughout the life cycle.
Quality Engineering: the Process aspect
With QE, changes in process throughout the SDLC require all teams to think about quality each step of the way. When a product is defined and designed, the focus shifts to the satisfaction of an end user, along with the technical boundaries of a solution.
As a products or enhancements are being built, QE organizations “shift left” by building processes to “test early and test often.” This ensures more testing is being done by all members of a product team early on, resulting in more defects being uncovered early on in the process. Organizations are able to prevent spending valuable time making fixes that prevent software from being released.
Successful QE organizations create a process to speed up testing by focusing on test automation, and develop strategies for which tests are most appropriate for automation.
Quality Engineering: the People aspect
QE requires a more technical skill set for activities such as test automation and performance testing. Many successful QE organizations are able to leverage the technical acumen of their software engineers by focusing their attention on test automation activities. These technical professionals work with QA professionals to create automation frameworks in order to dramatically speed up the testing of those test cases identified as necessary to automate.
While QE teams are much more technical than traditional QA teams, those QA professionals who weren’t born with the “coding gene” still play a critical role on QE teams. Experienced QA professionals are critical in building sound QE strategies and processes that are leveraged by more technical professionals. Experienced QA professionals also play an important role in training and coaching software engineers that don’t naturally “think like a tester.” This results in more efficient test cases being written and a better understanding of just how to test.
The most important aspect that people contribute to the success of a QE team is empathy for end users. All members of QE teams are trained to focus on end-user satisfaction as the #1 outcome of a successful project. The members of a QE team need to constantly ask the question “are we meeting our customers’ goals with this product?” each step of the way.
Quality Engineering: the Technology aspect
QE teams greatly leverage tools and technologies extensively. For modern QE teams to succeed, they need to identify and utilize the best tools available for their given environment.
Technology has advanced a great deal over the past 20 years, enabling testing to be performed much quicker, across multiple platforms, ensuring software can be released to its audience much quicker. Along with accelerated software delivery and improved predictability, technology allows for deeper analysis by the creation of a greater wealth of test data.
The journey from QA to QE
While this is a critical shift for technology organizations, the move to quality engineering does not have to be a major transformation. You don’t need to be a large global organization to transition from Quality Assurance to Quality Engineering. And you don’t need to partner with giant, intimidating consulting organizations to make this shift.
At tapQA, we pride ourselves on being “approachable experts” when it comes to quality engineering. For the past decade, we’ve helped many organizations simplify and speed up their journey from QA to QE.
Over the next month we’ll be creating more content around the journey from QA to QE, including a Webinar on Wednesday, July 29th.
Ready to learn more?
Schedule a free Quality Engineering consultation with one of our talented Senior Consultants. We'd love to help!
Michele Clark is an experienced Software Engineering and Technology Leader with 20+ years of hands-on experience managing and overseeing small to large-scale technology projects. She has held leadership roles at Oracle, GE, Molina Healthcare, and Scientific Games.
She is currently a Principal Consultant at tapQA engaged in supporting the QA to QE transformation strategy for multiple clients.
Have a QA question?
Our team would love to help!