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.
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.
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?
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:
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.
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.
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).