Quality assurance (QA) isn’t a new phrase for developers. Most know it as a staple part of the software process that is crucial for producing quality code. But throughout the pandemic, with extreme pressure for businesses to transform quickly, it’s a discipline at risk of being dismissed by organisations and tech leaders as a last-minute, box-ticking exercise – but at what cost? Many have neglected QA in search of that quick app launch or new digital service, leading to an unwanted surprise or customer disappointment when they don’t work.
We all know the old adage, quality over quantity, but when considering software development, CIOs should have quality over velocity in mind. Although producing software at speed is clearly a necessity for business success – whether start-ups pivoting during a pandemic or enterprises keeping up with these nimbler competitors – QA must become more than a forgotten principle for internal IT teams.
To achieve the necessary standards at the speed required, tech leadership must embed QA as a specified requirement of any software project, rather than an afterthought.
How poor quality assurance can lead to unhappy customers
Quality assurance is about monitoring the software development process and method to ensure that the output adheres to the project requirements, as well as industrial security and compliance standards. With QA at the core, businesses can gain a better understanding of the status of their product, which allows them to assess, improve and consistently enhance its output for better outcomes and know whether the output meets the business requirements.
In order to draw out a strategy that ensures quality at each step, businesses need to understand their customers’ needs, user journey, expected target markets, and how they expect the software to perform. Without this, businesses will struggle to not only meet and ensure customer requirements but also business goals and expectations.
Without QA, it is difficult for businesses to assess the functionality of the product or service and it becomes extremely difficult to track critical defects that become costly to address once found post-production. Poor QA can also lead to several other challenges, including delayed product releases, unhappy customers, reduced brand reputation, and increased technical debt.
Developers and quality engineers are separate roles
In its infancy, software development took on the best practices used in the hardware/manufacturing industry, which largely relies on assessing quality at the end of the product lifecycle before releasing. As a result, much of the technology sector adopted outdated strategies which then became common practice. In fact, there are still hundreds of CIOs and CTOs I speak to that expect QA processes to be an add-on at the end of the software development process.
Many technical leads believe it’s developers who drive quality in a software project throughout its lifecycle. And this is true to an extent – there are some fantastic, talented developers out there! But this perspective can teach bad habits and means QA is an expectation of developers rather than a specified requirement for the entire project.
That’s because it’s easy to forget that developers aren’t quality engineers, they are in fact two entirely separate roles that should be working side by side throughout any digital project. A developer’s role involves writing and maintaining the source code, which usually includes implementing unit and integration testing to ensure that the code matches the requirements. However, they are not involved in performing functional and non-functional testing or reporting defects to the development team.
Putting quality assurance at the heart of the software lifecycle
Any business embarking on a digital project based on software needs both developers and QA testers, you can’t have one without the other. But tech leaders can struggle to hire both good developer talent and QA engineers – whether due to expense or lack of availability of skilled workers. Recruitment is a lengthy and costly process, especially when recruiting skills that are already in high demand.
In light of this landscape and paired with the impacts of COVID, which has caused many businesses to have to cut down their in-house teams, IT departments are increasingly stretched. This means processes like QA, which many companies don’t view as a necessity or a priority, can be neglected. But putting quality assurance at the heart of the software lifecycle can actually save time, helping to avoid clearing code with errors that will end up coming back to be updated.
Ultimately, businesses don’t just need to build software, they need to improve it and make it work and evolve with its needs and goals. Quality assurance makes this possible.
Written by Nuria Manuel, QA Consultant Contractor