In a world of abundance, quality matters more than ever before. Quality is a parameter that signifies the superiority of a product or service. It’s also an attribute that sets a product or service apart from its competitors. As such it is one of the factors that help enterprises stand out in the competitive market. Likewise, quality is one of the main differentiators of a brand and one of the catalysts for strong brand management. That’s the reason why many businesses are focusing on producing and delivering high quality products or services, rather than merely trying to sell large quantities of them.
Quality is not only an attribute of conventional physical products, but also a parameter that characterizes software products as well. Software houses are therefore employing rigorous and well-structured software testing and quality assurance activities, while sometimes employing firms that are specialized in software testing and quality assurance of complex software products.
In order to produce high quality products (including high-quality software products), companies are employing quality management methodologies. The latter comprise a set of interrelated tasks that can collectively lead to the production of excellent products. Quality management is concerned not only with how to achieve excellent quality, but also with how to sustain it in the long term.
Quality Management Methodologies
Prominent quality management methodologies and standards include:
Total Quality Management (TQM): TQM reflects a continuous flow of activities aimed at achieving customer satisfaction, while at the same time ensuring long term customer loyalty. To this end, TQM activities are well structured and employ continuous feedback about the delivered products or services. In particular, in TQM, product teams organize their work on the basis of the so-called PDCA (Plan, Do, Check, Act) cycles. As part of these cycles, they create plans that can lead to high quality products, execute them and ultimately check their outcomes based on feedback from the customers. This feedback is accordingly exploited in the next PDCA cycle, as part of a continuous improvement discipline. One of the main characteristics of the TQM methodology is that it engages all the employees of an enterprise in the quality management process. In particular, the methodology acknowledges that quality is not a matter of a single person or group, but actually a responsibility of everyone working for an organization. As such TQM activities must be carried our jointly by staff members, workers, supplier and the business management of the company. In several cases, the engagement of parties that are remotely linked to the production processes (e.g., subcontractors) is also essential. Overall, every single employee engaging in the product or service delivery should actively work towards improving processes, culture, systems and other factors that affect product quality.
Six Sigma: This is another continuous improvement methodology that aims at eliminating the defects in a product, process or service, thus leading to outcomes of exceptional quality. It is used by 100s of companies around the world, including some of the largest and most prominent manufacturers. SixSigma is data-driven i.e. it uses data in order to gauge quality levels and to instigate quality improvement activities. In particular, it uses the popular standard deviation statistical measure, as a metric of variation in datasets collected about the production process. This deviation is used to define specification limits and to differentiate nature variations in the production process from serious defects that must be avoided. In this context, SixSigma provides also measures of performance towards an ideal quality goal that is expressed in defects per million. The ultimately goal of the SixSigma continuous quality improvement is to reduce process output variation so that on a long term basis, no more than 3.4 defect parts per million (PPM) opportunities occur. Even in case when companies do not manage to reach this goal, the SixSigma process helps them reduce costs and increase customer satisfaction.
ISO 9001: Nowadays, many companies adhere to the ISO 9001 international standard, which specifies requirements for a quality management system (QMS). Many organizations become ISO 9001 certified in order to demonstrate their ability to deliver products and services that meet stringent customer and regulatory requirements. Adherence to ISO 9001 helps organizations to organize and improve the efficiency of their processes, as well as to continually improve them. To this end, the standard specifies requirements for a quality management system, along with the responsibilities of the business management. It also includes guidelines for management of resources, product realization and measurement of outputs. The latter measurements form the foundation of a continuous improvement cycle, based on activities like internal audits, as well as corrective and preventive actions.
DevOps and TDD (Test Driven Development): Software testing and quality assurance methodologies are also employed in the realm of software engineering towards producing high quality software products and services. In principle, modern software engineering is based on agile and iterative methodologies that comprise frequent testing and quality assurance activities. The latter are usually based on proven best practices such as automation of the testing process and test first programming (i.e. writing the test of a use case prior to producing its actual implementation). Moreover, modern software testing is usually based on a methodology that is called Test Driven Development (TDD), which aims at automating and facilitating the testing process for each use case prior to producing the actual software and testing it as part of the use case implementation. Recently, companies are also employing testing and quality assurance methods in the scope of the DevOps (Development and Operations) paradigm, which enables software testing and quality assurance enterprises to take into account the state of the operations’ infrastructure as a key ingredient of the software quality assurance process. Like the previously presented methodologies, DevOps and TDD are iterative methodologies that boost continuous improvement of the software products and services.
IT-Driven Quality Management
Quality management is much more about processes, culture and continuous improvement, than it is about technology and IT systems. Nevertheless, modern IT systems and technologies can provide a great boost to organizations that implement quality management systems and methodologies. Some prominent examples follow:
- IT Business Process Management (ΒPM) Tools: IT tools for BPM provide the means for monitoring, tracking and improving production and service delivery processes. They provide visibility into the different steps of a production process, as well as into different benchmarks of its performance. Likewise, they offer flexibility in reconfiguring processes as part of the continuous improvement discipline. For these reasons, IT BPM tools are usually an integral element of ISO 9001 QMS systems.
- Big Data Analytics and Artificial Intelligence (AI): Nowadays, enterprises are offered with unprecedented opportunities for analyzing data in order to drive improvements in production processes. The advent of Big Data technologies enables enterprises to collect, manage and analyze much larger volumes of data than ever before. Hence, they can run Big Data analytics in order to derive knowledge about the root causes of possible defects, as well as in order to produce prescriptive recommendations for quality improvements. Furthermore, deep learning and AI algorithms can be used in order to predict and anticipate defects, as a means of proactively taking action to avoid them.
- Internet of Things (IoT) and Digital Twins: Recently IoT devices and technologies enable the acquisition of digital information about almost every aspect of a production process. Such data can enable the construction of faithful digital representations (i.e. “digital twins”) of production systems, as a means of simulating processes and discovering ill steps and possible defects. This will be the future in digital simulation of production processes, which will open new horizons in quality management.
- DevOps and TDD Tools: There are also a large number of tools that support the DevOps and TDD methodologies, such as continuous integration servers and unit testing frameworks. A more detailed presentation of such tools has been performed in one of our recent posts.
Overall, quality management is one of the main activities of an enterprise, as it enables the delivery of high quality products and the building of a strong brand image. Hence, companies cannot afford to ignore quality management systems and activities. Rather, they should select a proper quality management methodology along with IT system that can support its implementation. Software enterprises could also consider employing a software testing and quality assurance firm, as a means of rigorously and exhaustively testing their products or services. Finally, enterprises should keep an eye on leading edge IT technologies and the opportunities that these technologies offer for quality management. These opportunities could lead to products of excellent quality at reduced costs.