Customer choice is the virtue of product quality that can make or break the success and survival of every business enterprise. Business objectives are not defined by just the bottom-line, as many would have us believe. They are based on creating and retaining satisfied customers by providing products and services that meet and exceed customer needs. In all these dynamics, QUALITY is the primary protagonist, the vital ingredient, and differentiator. This article examines quality assurance as an advocate for customers during product development.
"The practice of quality assurance is to develop, design, produce and service a quality product, which is most economical, most useful and always satisfactory to the consumer."–K. Ishikawa
Ever since the dawn of 'choice' as a customer option, it is the virtue of product quality that has spelt the success and survival of every business enterprise. Business objectives are not defined by just bottom-lines as many would have us believe; rather they are based on creating and retaining satisfied customers. Providing products and services that meet and exceed customer needs creates satisfied customers. Anticipating and delivering future needs and expectations has an impact on customer relations, particularly loyalty. In all these dynamics, QUALITY is the primary protagonist, the vital ingredient and differentiator. Quality is also rapidly embracing the nature and degree of impact that an organization has on its stakeholders, environment and society.
Role of the QA Engineer
In an age of global and multicultural markets, engineering improvements or fixing defects after a product is launched can be a very expensive and damaging proposition. It means recalling the product from the market, dissecting it to discover the flaw, maybe even compensating customers and dealing with possible legal hassles. In such cases, the damage to consumer confidence in the product and the company is the biggest loss. Quality assurance plays a critical role here in identifying defects, faults and shortcomings in the product even before it hits the production line or market. Given this, quality assurance has become an indispensable business function today.
Over the last decade or so, the potential for the quality assurance industry has grown enormously. This is particularly so in the information technology sector in India, where product capital is increasing at a frantic pace. Quality Assurance has moved on from being just a Testing function to being involved right from the design phase of product development to that of the finished product. From a time when the ratio of product developers to quality assurance engineers was skewed in favor of developers, we now witness an industry where QA is given a larger piece of the pie, clearly implying the growing importance of quality assurance engineers.
Aspects of Quality Assurance
There are two aspects to quality assurance–Project quality assurance and Product quality assurance. In Project quality assurance, the client outlines particular specifications to be analyzed and fixed. In Product quality assurance, the engineer decides and dictates the game plan. The engineer needs to assume the form of varied customers, so as to ensure that the product is stable in all conditions and usage.
Being a quality assurance engineer is akin to being the customer's advocate. It is the quality engineer's charter to challenge and analyze every process, and every aspect of the product idea to locate possible defects, loopholes and loose ends. Since the product use environment is not known and the consumers are manifold, a quality assurance engineer needs to think of every possible scenario, and the issues that might arise in actual application situations. Solutions have to be robust in terms of functionality, performance, scalability, and usability. This is an immensely challenging proposition requiring out-of-the-box kind of thinking, in-depth research, considerable domain insight, and implementation skills.
Many are of the view that quality assurance engineers are mostly involved only in test execution, and have little or nothing to do with developing code. But the truth is, to analyze and test every functional unit of code, one needs a sound knowledge of code and must also be able to write a whole lot of alternate code for defect finding and Automation. That apart,