Skip to main content

Every organization on the planet is engaged in quality engineering, whether they know it or not. The very act of creating a product or service implies wrestling with the challenge of delivering high quality. Ignoring quality has almost always led to disastrous results

In fact, in the US alone, the cost of poor quality software in 2018 was $2.8 trillion.

Everyone is looking for the holy grail of quality products and services: more customers and growth, lower costs, and increased profit margins. The discipline of quality engineering results from that search, which is by no means complete.

Quality engineering is a set of methodologies, processes, and principles that help an organization improve its business processes to achieve a certain level of quality for its products or services. As a smart quality assurance professional, you will have noticed the circular definition involving the word quality, which brings us to the next question:

What is quality? What are the aspects of quality?

Quality is not easy to define since it has several aspects that are subjective. In fact, philosopher-author Robert Pirsig wrote a book on quality: “Zen and the Art of Motorcycle Maintenance,” in which he stated his Metaphysics of Quality.

Interestingly, his book was rejected by 121 publishers who thought it was low quality. Pirsig persisted, however, and publisher #122 felt that “This book is brilliant beyond belief, it is probably a work of genius…” and published it, after which it sold over 5 million copies.

Pirsig may have been on to something when he said that quality is hard to define, but we all understand it intuitively. However, as engineers, we cannot and will not leave it well enough alone, so we will attempt to provide a list of the aspects of quality.

Aspects of quality.


Worldwide, the manufacturing industry uses various quality standards and approaches to better standardize quality, such as ISO 9001, Six Sigma, and Total Quality Management.

Quality Engineering in Software

The software industry has realized that the corrective approach prescribed by quality assurance and quality control – finding and fixing bugs after the fact – has gone as far as it can.

Quality engineering offers a way forward with a proactive, preventive approach to implementing quality systems that solve the quality problem confronting software development in general and product development in particular.

Keeping aside the “quality is in the eye of the beholder” philosophy, quality engineering in software tackles two aspects of ensuring high quality:

Functional quality, which deals with the functional aspects of a software product or solution: Does it do what is expected? Does it conform to a design specification?

Structural quality which deals with the non-functional aspects of software: Is it robust? Secure? Highly available? Easy to maintain? 

Discover how to deliver better software and systems in rapidly scaling environments.

Discover how to deliver better software and systems in rapidly scaling environments.

  • By submitting this form you agree to receive our newsletter and occasional emails related to the CTO. You can unsubscribe at anytime. For more details, review our Privacy Policy. We're protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
  • This field is for validation purposes and should be left unchanged.

The Evolution & Lifecycle of Quality Engineering in Software

Software quality engineering has been undergoing a renaissance with organizations pulling out at all stops to prevent or catch defects as early as possible.

This has led to a slew of new QE tools and methods, including test automation, shift-left testing, DevOps, DevSecOps, Continuous Integration and Continuous Deployment (CI/CD), SDET, Test Driven Development (TDD) and Behaviour Driven Development (BDD), risk management, and artificial intelligence.

All these combined form an emerging approach to quality engineering.

The Quality Engineering Lifecycle.

The Role of Data and Metrics in Quality Engineering

Edwards Deming, Quality management guru, helped Japanese manufacturing processes become a world-class juggernaut in the ‘80s and ‘90s.

It is well established that data and metrics matter for quality. In fact, they are one of the major ways you can determine if your quality engineering initiative is taking root and working. But what kind of metrics are we talking about?

Using metrics to effect change is a nontrivial process.

Today, it is possible to get a lot more data than we know what to do with, and it’s easy to drown in this veritable ocean. Therefore, it is important to figure out what data and measurements are relevant. To paraphrase The Rt. Hon. Rumsfeld, “Beware of unknown unknowns!”

I’m going to go out on a limb here and say that metrics that measure final outcomes and results are the most telling of all. After all, quality engineering initiatives must result in a stronger and better business. This includes metrics like:

  • Product sales volume
  • Customer satisfaction – specifically customer recommendations to others
  • Support request volume and type

However, arriving at these metrics can take anywhere from a few months to a couple of years after implementation, and Ain’t nobody got that much time!

To help us keep track of quality improvement as it happens, we use metrics like:

  • The cost of quality
  • Defect metrics
  • Coverage
  • Performance and release metrics
  • Productivity, efficiency, and effectiveness metrics.

Ultimately, all data and metrics should help quality engineering leaders to identify risk in advance, minimize defects and technical debt, and increase agility and time-to-market.

Why Quality Engineering Matters

TRUE STORY: Early in my career, I managed a software team delivering solutions for customers. One fine day, I went on a pre-sales call to a prospective customer – let’s call them “Frustrated Financial Consultants Inc.” - who wanted a time and expense billing web application. Frustrated had over 1,000 consultants working for their various clients.

I met with their CTO, and he explained that they were fed up with their existing bespoke timesheet solution (that someone had taken nine months to develop) and were exhibiting some peculiar behavior. Whenever any employee clicked on a link to fill in a timesheet record, they got to see a form that looked like this:

Now, as a smart QA engineer, you will doubtless have noticed the Grand Canyon-sized problem in this form.

Why on earth should a user have to pick their own name from an employee list!?

Many users, with better things to do, would forget to select their own name from the list, leaving it at its default value of Amy Adams, who had the misfortune of being the first name in the sorted list.

But it gets even better. Poor Amy Adams was terribly unhappy with this state of affairs, so it was fixed by creating a fictitious employee named A. Aardvark! I kid you not!

So now, every week, the billing manager would find that A. Aardvark had bubbled to the top of the productivity list with no less than 300 to 500 odd hours billed! This poor lady had to spend half a day of her precious time every week locating and chasing down folks who had made this error and getting them to fix it.

And that is how A. Aardvark became the hardest working employee of the month for several months running with a productivity of 6x to 10x! I swear, I couldn’t have made up this stuff if I wanted…

File photo of hardworking Employee-of-the-Month, A. Aardvark.

Anyway, the story has a happy conclusion for the employees of Frustrated. In a couple of months, we developed a state-of-the-art timesheet application, that did not require employees to select their own names from a list, and they all lived happily ever after!

And there you have it, folks, this is why quality engineering matters.

What Does a Quality Engineer Do?

Software quality engineers are an integral part of the software design and quality team. They oversee the software development process, from ideation to execution, to ensure that software meets predetermined quality standards.

Certified quality engineers use continuous improvement techniques and various quality control tools to ensure quality. Measures like corrective actions and preventive actions are used to eliminate any gaps in quality.

To meet the varying and demanding needs of today's software organization, software quality engineers play a variety of roles, including design, SDET, testing, and more. Typically, this is a challenging role that requires multiple skill sets to perform well, including problem-solving, troubleshooting, statistical process control, software testing, automation, and quality control.

The American Society for Quality (ASQ) provides the Certified Software Quality Engineer certification for quality engineers.

Join for More Insights

The move from quality control and quality assurance towards quality engineering is well and truly underway. Quality engineering has changed the way software is created and is still evolving.

Boost your SaaS growth and leadership skills. Subscribe to our newsletter for the latest insights for CTOs and aspiring tech leaders. We'll help you scale smarter and lead stronger with guides, resources, and strategies from top experts!

Harold Fernandes

Harold Fernandes is a multipotentialite and has worked on the product side and engineering side of multiple startups. He has led software, testing, and UX teams for over 20 years. He is also an international award-winning author and speaker, a certified mindfulness coach, a musician, and a bibliophile. He is at his happiest doing something new!