Existing models and quality characteristics used for software, systems, and data quality can be leveraged to identify cost categories and support the creation of a Cost of Quality System for Quality 4.0.
1. Cost of Quality Applied to Software.
While the origins of quality costs and their categories originated in manufacturing and industrial engineering, the categories of external failure costs, internal failure costs, appraisal costs, and prevention costs have been successfully applied to software and information technology. However, unlike the tangible manufactured products, characteristic of the post-war era of the 20th century, software and information technology are less tangible. Consequently, the success of such products or deliverables are determined during the design and validation processes.
Software and information technology also do not exist as products unto themselves, but were created in order to perform or automate a particular service. In addition to technical deficiencies associated with the software or system, the business requirements of that service must also be considered. Consequently, quality failure can extend beyond functional adequacy to include reliability, responsiveness, and usability. Consider a shopping website that has a three to five minute delay during processing; even though less time is spent than the alternative of travelling to a physical store to wait in line for the same transaction, a delay of this duration would represent an unmet expectation and a service failure of the software.
The Cost of Quality model attempts to justify investments in quality activities emphasizing planning, prevention, and appraisal. This is intended to create the resulting deliverable or solution in a manner that is more stable, predictable, and cost-effective than by fixing errors or defects as they emerge in use, and are reported back by the customer base. In the context of software, the Cost of Quality categories can be summarized with the following typical activities:
External Failures: These are reported incidents of software or system malfunctions that prevent the proper use or application of the information technology solutions. The impact and extent of the failures, and subsequent external failure costs, depend on the criticality and impact of the software. For example, while an online gaming application isolated to a small percentage of users is of minimal concern, software which regulates medical applications could have catastrophic outcomes. The protection against improper data acquisition or identity theft also requires additional measures taken to provide security. If damages are resolved, there are still marketplace issues, contractual penalties, and regulatory violations that must be addressed as well.
Internal Failures: Such failures are found internally, prior to the realization of risks as business-critical issues. However, the technical remedies are often cumbersome with the proper diagnosis and reconfiguration or redesign of software or its associated systems and operating environments. This area is complicated by the evolving versions of concurrent or interdependent components, applications, or infrastructure, which must be constantly monitored. Even if the solution was previously determined to be acceptable, externally directed product or system revisions can also cause disruption and instability. For this reason, failures must be diagnosed from a variety of perspectives to determine the potential technical and business impact.
Appraisal: When this category was first specified for manufactured products, the types of activities included were primarily product inspections, process controls, and statistical audits. For software and information technology, this phase is not something that can be simply appended to finished products or work-in-progress phases. Software and information technology solutions are made using various frameworks and methods including waterfall, agile, scrum, prototyping, and evolutionary. These approaches all recognize that a finished solution is the result of releasing a verified and validated deliverable, compatible with its operating environment, suitable for its intended users, and representative of the original design commitments.
Appraisal activities must occur throughout all stages or phases of the design and development projects. The stages may be done sequentially (characteristic of waterfall methods), or in a more integrated fashion with repeated iterations leading up to an acceptable release. Inspections are supplemented by reviews of requirements and designs, audits of development processes, verification that all explicit specifications are integrated, and validation of the fitness for use. Appraisal activities continue after the product or solution is released into its user environment, and are integrated into the ongoing maintenance activities for the life of the product.
In addition to the direct activities, the supporting environment and infrastructure must be included within this cost category. For example, if a software or system was intending to manage the concurrent transactions of 25,000 students registering for their classes, it would be impractical to employ 25,000 testers to simulate that quantity of users. A more practical approach would be to simulate this activity through load, stress, and performance testing resources, which generate the necessary test data and user traffic automatically. This has resulted in the formation of a distinct niche in software development, dedicated to automated software testing.
Prevention: Prevention costs are both deliberate and the result of unfortunate experiences learned from product and system failures. While there are finite ways for a tangible product to fail, software can malfunction from infinite causes and conditions. This expands the range of prevention activities needed to secure software and information technology form failures related to functionality, reliability, usability, portability, efficiency, maintainability, and security. Within software design, development, and deployment, such failures include research of market and customer preferences, requirements review, project planning (i.e. scope, schedule, resources, risks, vendors), systems for configuration management and version control, and training to build these functional capabilities within the work environment.
As the need for quality is prevalent in software and information technology, the costs associated with such activities must also be monitored and optimized. The Cost of Quality system has been leveraged for this purpose and used to demonstrate the positive returns from investments in methods, practices, and resources that are shown to reduce the costs of nonconformance (representing both internal and external failures).
2. Quality 4.0: Applying Information and Technology for Industry 4.0 Demands
Quality 4.0 is a concept which links the practice and application of quality techniques to the emerging capabilities associated with Industry 4.0. Some examples of Industry 4.0 include the following:
- Additive Manufacturing: Enhancing existing systems with 3D models and computer controls.
- Mobile Computing: Expanding the devices used by front-line employees to include smartphones, tablets, and other devices supporting instant interactions and communications.
- Digital Manufacturing: Integrating information technology systems and databases into a holistic end-to-end resource (i.e. Enterprise Resource Planning).
- Cloud Computing: Migration of information technology infrastructure to shared services.
- Blockchain: Public transaction ledger for tracking and securing transaction records.
These five examples represent potential augmentations to an organization’s applications, devices, information management, infrastructure, and archiving systems. As all of these potential solutions would require some form of design, development, configuration, and deployment, the systems currently used for software and data quality models could be applied.
As with any innovation, risks are present which could result in issues and external failure losses that would be detrimental to the organization. The countermeasures for such failures would be categorized within prevention and appraisal activities which are similar to those currently used for software and information technology. Attributes of Industry 4.0 are often applied to existing operations, representing an upgrade to existing software and information technology. This process can be simplified in a five step, high-level process:
Step 1 – Analysis: The project or program is determined based on the business need, available budget and resources, and the opportunities for innovation and superior delivery. This analysis needs to incorporate the context of potential usage situations, and the perspectives of all relevant stakeholders including customers, vendors, regulatory agencies, partners, and the internal functional areas within the organization. Preventive activities would work to define the framework of the analysis, while appraisal steps would strive to confirm the adequacy of such analysis relative to the expectations of the proposed solution.
Step 2 – Qualification: The components and vendors are qualified based on the expected outcomes, the available budget and resources, and the complexity of the system and solution. The preventive steps are represented by the level of detail within documentation (i.e. Request for Proposals), and the appraisal steps would include the assessment of potential vendors against the established acceptance criteria. Technical solutions often require different levels of vendor support for technical configurations and design modifications.
Step 3 – Development, Verification, and Validation: The Industry 4.0 solution is managed through its sub-stages or phases of readiness. An increasingly popular framework is Scrum, which applied Agile methods to rapidly produce incremental iterations until the solution is completed. This infuses preventive activities like planning, and appraisal steps like inspections and reviews intermittently throughout development. One variation, Test-Driven Development, actually integrates the Appraisal tests as requirements against which development can occur. The increased adoption of test automation, and its recurring use for introductory “smoke” testing or repeated regression testing, represents the adoption of preventive and appraisal techniques as alternatives to external failures, discovered only after deployment to the user community.
Step 4 – Change, Release, Deployment, and Migration: Any solution proposed for an organization must first be reviewed for adequacy and suitability, released at a time that minimizes interruptions of existing services and deliverables, is deployed in a controlled manner, and migrates all associated services and processes. This also has to incorporate the complexities associated with training and adoption. These IT practices (i.e. change, release, deployment, etc.) have distinct preventive and appraisal steps to ensure that proper reviews, verifications, and validations occur in a manner that is commensurate with the complexity and risks of the newly introduced solutions.
Step 5 – Stabilization and Maintenance: The shifts to new technologies, techniques, and methods will not be immediately seamless, but will have adjustments necessary to address immediate problems and resolve initial difficulties. In this case, the preventive steps include the development of a robust knowledge base and responsive approaches to events or incidents. From these rapid responses, the systems can be quickly validated and diagnosed, enabling the deployment of workaround solutions while the root causes are more extensively investigated. Q