"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, the job also calls for immense domain knowledge, understanding of critical quality assurance concepts, specific product knowledge, innovative test case designs and review processes, debugging, contribution to specifications and design, bug analysis, etc. In essence, a quality assurance engineer combines the critical rationality and expertise of a quality assurance professional as well as the comprehensive knowledge and coding skills of a developer. Testing, contrary to popular perception, forms only a part of the job.
So, who is it out there who's cut out to handle such a critical and demanding function? To begin with, a potential quality assurance engineer’s got to be a 'wild and wide' kind of person with a technical bent of mind. Wild in the sense of being able to think radically out of the box. A supremely creative thinker–with an ability to put oneself in the shoes of potentially millions of end-users and think of the myriad needs they might have. Wide in the sense of being able to think expansively in terms of utility and application of the product. A technical bent of mind in the sense of rational, parallel and lateral thinking abilities.
It calls for someone with the analytical and logical mindset of an Aristotle, literally! An ability to whip, rip and strip the product to lay bare any flaws or shortcomings, and to ensure that it is as close to perfection as possible. Good communication skills are an asset. A quality assurance engineer has to be able to communicate his/her vision of the product/solution, the changes required, and the rationale/reasons for such changes.
Apart from the above personality traits, most recruiters look for only a fair level of technical knowledge to start with, since much of the learning and training is on the job. The training, in companies like Talisma, happens typically at three levels:
- A basic training on reasoning and critical analysis
- A period of Mentoring with senior professionals
- Beyond the above is advanced training by domain experts
Today, quality assurance offers a lucrative career with immense job opportunities as well as well-defined career paths, apart from considerable career stability and sustainability. With time, a quality assurance engineer grows to own a complete 'Feature release' in the product. The engineer would be involved in people management, creation of scenario plans, risk management, and own multiple features. The acme is when one grows to handle complete product planning, undertaking team risks, end-to-end release management, and resource management.
In quality assurance management, quality is defined as the totality of characteristics of a product or service that bears on its ability to satisfy stated and implied needs. Quality assurance is not just about implementing a system or working towards some set standard or even plain testing. In its broadest sense, quality assurance is about achieving dynamic degrees of excellence, at every stage of product development.
In professional terms, the expertise, the domain and technical knowledge gained leads to considerable enhancement of employability security. In terms of personal growth, the nature of work and training is such that it sharpens one's thought process, enhancing rational and parallel thinking capabilities. Something with the potential to positively affect every aspect of one’s life.
Both in an individual's life and in that of an organization, quality plays a crucial role to make a difference and be noticed among the plethora of competitors. Good quality practice must be embraced at all levels and instilled strongly within an organization's culture. That is what quality assurance is all about.
A big "Thank you" to the people who helped in the construction of this article: Bennet Manual (QA Lead-Talisma), Santhosh Raghu Shetty (QA Lead-Talisma) and Swati Rangachari (Brand Manager-Talisma).