Introduction
How does it feel to return to a restaurant after a long absence, order your favourite meal and discover that it still tastes fantastic? Is it simply luck or does someone persistently maintain high-quality standards every day?
It is definitely about passion and skills, but is also about quality assurance.
In the same way, when developing software, it all comes down to passion and skills – and quality. So, let us make an analogy to compare two major terms, intuitively explaining quality sustainability: quality assurance (QA) with quality control (QC). Imagine a soccer match between two teams, Quebec Arsenal (QA) against Quartz Crystal (QC).
Let’s Play Some Soccer
In the heart of a crowded city, two soccer teams clashed in the finals of the championship. On one side stood the Quartz Crystal (QC), defending champion, whose reactive nature often saw them adjusting their strategy on the fly. On the other side was the Quebec Arsenal (QA), a team known for their proactive approach, meticulously planning tactics well before the match began.
As the referee blew the whistle to signal the start of the game, Arsenal’s passes were crisp, their movements calculated. Despite the Crystal putting their best efforts to adapt, they found themselves trailing by two goals by halftime. The defending champion retreated to the locker room, determined to turn the tide in the second half.
In the Crystal’s locker room, coach Clark gathered his team: “I have created new tactics. Stay focused, stay disciplined and we can claw our way back into this game.”
Illustration: Planning and adaptation
Meanwhile, in the Arsenal’s locker room, coach Anderson warned his team: “Remember our plan for the second half – they will change their formation, so you already know how to adapt.”
As the second half began, the QC pressed forward with urgency, launching a series of blistering attacks, but the QA defence held firm, repelling each wave of assault until the end of the game.
As the two teams shook hands in a display of sportsmanship, coach Clark (team QC) congratulated coach Anderson (team QA) on a well-deserved win: “We were always playing catch-up and, in the end, it cost us.”
And as the QA celebrated their victory, they knew that their proactive approach had been the key to their success. For in the game of soccer, as in life, those who plan ahead and seize the initiative are often the ones who emerge victorious in the end.
Quality Assurance (QA) vs Quality Control (QC)
The underlying aim of the aforementioned narrative: to highlight the benefits of quality assurance (QA – performed by Quebec Arsenal) and quality control (QC – performed by Quartz Crystal). It is evident that both play important roles, since two teams have reached championship finals. However, it is crucial to recognise unique roles and objectives of these two fundamental components of quality management systems. There are different definitions of Quality assurance (QA) and Quality control (QC), so let us focus on the most important aspects and some differences between these two:
Quality Assurance (QA) |
Refers to the processes and activities implemented to ensure that a product or service meets specified requirements and standards, it focuses on preventing defects rather than detecting and correcting them after production. |
Involves everyone in the company and is a collective responsibility to ensure that quality standards are met at every stage of the process. |
Implemented throughout the entire lifecycle of a product or service, from planning and design to production and delivery. |
Quality Control (QC) |
Involves the activities and techniques used to monitor and evaluate the quality of a product or service during its production or delivery, it aims to identify defects and deviations from standards and correct them properly. |
Typically carried out by dedicated quality control teams responsible for evaluating the product’s quality. |
Conducted during and/or after the production process, when the product is being developed or delivered. |
In the soccer match discussed in the previous chapter, both teams implemented different tactics:
- The QC team primarily reacted to developments during the game. While they were firm and confident, they relied on performing quality control during halftime to improve their performance.
- Nevertheless, the QA team not only conducted quality control during halftime, but also took proactive measures to ensure high-quality performance from the outset. This proactive approach gave them a significant advantage.
The Hidden Strength of QA
QA typically involves more behind-the-scenes activities, focused on establishing processes, standards and guidelines to prevent defects. QA outcomes may not be as immediately visible to external stakeholders but are crucial for ensuring consistent quality and efficiency throughout the entire product or service lifecycle.
In many instances, the outcomes of quality control (QC) tend to be more clearly visible than those of quality assurance (QA):
- QC involves tangible activities such as inspections, testing and measurements performed directly on the product or service. These activities are often more visible because they involve physical examination or evaluation of the final output.
- QC activities directly impact the product or service being produced. For example, customers can see the results of quality control in the form of a well-inspected product or a service that meets their expectations.
- QC activities provide immediate feedback on product quality, as they are conducted during or after production. Any defects or deviations from standards are identified and corrected in real-time, making the impact of QC more noticeable.
Illustration: Quality control in front of the quality assurance
In other words, quality control is sometimes like a beautiful tree in front of an ancient forest. It is, actually, a part of it, but sometimes stakeholders tend to enjoy its beauty, neglecting the charm and elegance of the forest.
Hence, justifying QA efforts and costs to secure an appropriate budget can be challenging. Sometimes it is advisable to engage an experienced quality management expert to conduct a feasibility study. This study should clearly articulate the long-term benefits of implementing quality assurance measures.
Cost of Quality (CoQ)
Quality is not just a desirable attribute – it is an investment. In every product or service, there exists a cost associated with ensuring quality. This cost of quality encompasses both the expenses incurred to achieve quality and the costs resulting from poor quality.
On one hand, there are costs of good quality. These costs include preventive costs, investments made upfront to prevent defects from occurring: planning, training, quality control processes and research and development aimed at improving product design. While they may seem demanding initially, preventive costs often save money in the long run by preventing issues before they arise. There are also appraisal costs – the expenses involved in evaluating products to ensure they meet quality standards. This includes inspection, testing and audits.
On the other hand, the most significant costs come from failures (costs of poor quality). Development failure costs come from defects discovered before the product reaches the customer, such as rework, scrap and downtime. Operational failure costs arise from defects in operation or even outages where the benefits of the product are not harvested.
Thus, while investing in quality may seem like an additional expense, the cost of poor quality can be far greater. By prioritising quality throughout the production process, businesses can mitigate risks, enhance customer satisfaction and ultimately, reduce overall costs in the long term.
Illustration: Cost of Quality
Choosing the appropriate quality management approach for a company is closely tied to the criticality of its product. As depicted in the accompanying image, the quality level can vary from left to right based on this decision:
1) In industries such as aviation or pharmaceuticals, where product quality directly impacts human lives, the imperative is to strive for the highest level of quality – far to the right on the spectrum.
2) For mature software development companies, the optimal approach likely lies slightly to the right of the minimum cost of quality level, before costs escalate sharply.
Finding this balance ensures effective quality management without excessive expenditure.
Reaching Production Excellence
At the beginning, we were mentioning the feeling you get when you know your favourite meal will always taste fantastic at a particular restaurant. Having a returning customer is something every company aims for and therefore, the assurance of high-quality standards is an inevitable part of the process.
Quality assurance (QA) adds significant value due to several reasons:
- It ensures that products or services meet or exceed customer expectations. By focusing on preventing defects and consistently delivering high-quality products, QA enhances customer satisfaction and loyalty.
- Prevention is often more cost-effective than correction. QA helps identify and address potential issues early in the process, reducing the need for costly rework or product recalls.
- Consistently delivering high-quality products enhances a company’s reputation and brand image. Positive experiences with quality products lead to increased trust from customers and stakeholders.
- Many industries have strict regulations and standards governing product quality and safety. QA helps ensure compliance with these requirements, reducing business risk. For example, pharmaceutical companies have good manufacturing practices (GMP) in place, in order to mitigate the main risks, like unexpected contamination of products or causing damage to health.
- High-quality products can differentiate a company from its competitors. In today’s competitive market, customers are willing to pay more for quality. QA enables companies to stand out by consistently delivering superior products or services.
Overall, investing in QA not only leads to short-term benefits, like cost savings and customer satisfaction, but also contributes to long-term success and sustainability, by fostering a culture of quality and continuous improvement within the company.
We Are All Testers in The End
After explaining the main reasons for fostering quality assurance, we should also address certain intangible aspects.
At Sprinting Software one of our mottoes is: “We are all testers in the end”. It is important to acknowledge the impact that a degradation in quality can have on both the project and the morale of the team. Poor quality not only induces stress and unhappiness among team members, but also can affect trust. Therefore, all should acknowledge the importance of maintaining the quality standards of the software we develop.
Software development is a creative art, but it is not only about innovating code – it also revolves around processes of planning, organisation, communication, testing and monitoring work created. The sharpening (continuous improvement) can lead to greater efficiency in the long run. The focus on immediate sawing over sharpening draws a parallel to short-term thinking, so agile planning encourages short-term adjustments for long-term gains in productivity and project success.
In conclusion, quality assurance plays a pivotal role in ensuring that products and services meet or exceed customer expectations. Through systematic processes, rigorous testing and continuous improvement initiatives, companies can enhance their reputation and performance.
Proactive approach to quality assurance not only minimises defects and errors, but also fosters innovation and competitiveness. Prioritising quality assurance remains essential for businesses striving to deliver excellence and achieve long-term success.