In praise of QA: What is Quality Assurance?

I’m super happy to work with a company that puts a lot of energy into the quality assurance part of every single software development project.

Quality assurance is a discipline that’s overlooked and under-appreciated. We produce software, share it with the team, test it, collect feedback, ask beta testers and then do it over again. Share, test, collect, ask, repeat. Yup, that’s pretty much it.

Yet people treat quality assurance as something superficial – a few tests here, a few user feedback there, and with one big eye staring at the release button.

If you like this article, give it some sharing ❤️

The traditional waterfall approach of QA

Software development, in general, used to follow the traditional waterfall model. And QA and testing have always been one of the last steps before going live.

waterfall model software development

As one might imagine, being one of the last steps in the project chain, sometimes meant making up time for previous delays.

Or even worse: Sometimes QA & testing activities showed that the product was not working for the target group.

More agile QA.

The agile movement helped a lot. And although there’s still a lot of room left for a more agile approach to QA, agile testing established a continuous collaboration between development and QA teams. And it makes sure throughout the entire project that QA efforts are undertaken.

The middle man

The best, bug-free software comes from excellent programmers with a lot of practical experience.

But excellent programmers don’t automatically make good testers. It requires someone to have a variety of soft and hard skills. And it is a balancing act to be part of a QA team.

Quality assurance people (or sometimes just referred to as “software testers”) serve as proxies for the company’s audience. They understand what your users need and appreciate. And are able to help developers build what is necessary to reach their users.

What is Quality Assurance?

What is Quality Assurance?

When developing hardware or software, quality assurance (QA) is “any systematic process of checking to see whether a product or service being developed is meeting specified requirements.

Or as Wikipedia states:
wikipedia definition QA

Tools and standards like ISO 9000 help companies to establish and maintain effective QA workflows when building a product. I know this sounds unpractical. However, I recommend you to take a closer look at those ISO 9000 standards and you’ll find a lot of practical guidance and advice when building a new software or hardware.

One example: The first principle stated inside ISO 9000 is about customer focus. It is made clear that you can only succeed if you “strive to exceed customer expectations”.

And QA is there to help you along the road.

There’s more than one approach of QA

Quality assurance isn’t a single process. There are a number of different types, frameworks, and stages.

Here’s an insight on the different types of QA you might make use of. Depending on your product, company, and workflows.
qa types approaches

A common mistake is only focusing on one of these areas. Especially as a small software company, it’s easy to bury your head into stress- and failure tests, then setting up continuous testing.

Besides those QA types, there are different software testing types, such as compatibility testing, acceptance testing or smoke testing.

QA is about culture

The easy thing for development teams is to avoid QA at all. You’ll avoid spending time and resources that way, but you’ll avoid your users too. And therefore success.

If you have a solid quality assurance process in place, and developers and testers are willing to engage, and bounce feedback, you’ll notice an increase in users using your software (or hardware).

If you like this article, give it some sharing ❤️