This tutorial explains what COQ is, costs of good and poor quality, cost of quality formula, examples, and ways to improve quality to optimize COQ:
Demands of the competitive global economy have placed a strong emphasis on quality across the IT industry.
In recent years, IT has been supporting the business in many ways and so its activities are being scrutinized by business executives in terms of added value i.e. larger profit margins, lower operational costs, faster software product delivery, etc.
The cost of quality in software development is a metric that could aid in turning software into a profitable tool for companies. Companies are looking at ROI i.e., the return to the organization from investment in software development.
Quality is gained at a price and the cost is called COQ or Cost of Quality.
What Is COQ
COQ is the cost incurred to deliver a quality product to the client. The cost includes the cost of all activities taken up proactively in a planned way to prevent defects and deliver good quality.
It is not possible to deliver a zero-defect product, the idea is to minimize the expected failure for the committed requirements i.e. both Functional and Non-functional requirements. Expectations can be tangible and intangible attributes. So, setting clarity in expectations is very crucial.
Cost Of Quality Formula
COQ = Cost of control + Cost of failure of control or
COQ = Cost of Good Software Quality + Cost of Poor Software Quality
Cost of Good Quality (COGQ) = Prevention costs + Detection costs
Cost of Poor Quality (COPQ) = Internal failure costs + External failure costs
While it is most desirable to check for all quality points, every check is a cost overhead, so a balance needs to strike, and clarity of the quality coverage expected should be very clear from the beginning. This coverage should be shared with all stakeholders.
Quality management is about striking a good balance and prioritizing the high-risk quality dimensions achievable within a desirable/optimal budget.
Quality is really crucial, but it need not be attained at the micro-level of all features. The trick is to achieve the right balance between quality and cost and achieve the best that is required by the client at an optimal cost.
Some of the questions to consider:
l What is the scope of the expected functional and non-functional quality?
l What are the processes and reports that are shared for the purpose of tracking and reviewing?
l What will be the Exit or Release criteria for the Product to be released?
l What will be the process to communicate delivery failure and its consequences?
l Review Planned vs Actual budget for cost and process improvement initiatives?
l Who are the stakeholders who will participate in this review meeting?
Understanding Software Quality
“Quality is not an act; it is a habit” — Aristotle
When we go shopping, all of us young and old, men and women wish to get the best product that not only fulfills our core needs but is also efficient, cost-effective, stylish, and easy to use.
Software product’s quality expectation is also the same, it’s not just if the software serves the ‘what’ but also ‘how’ is important.
Many times when we book a hotel room online, we get the room booked, but the experience leaves a bad taste and we decide not to book through the specific site again!!
Quality refers to Functional as well as Non-Functional Performance.
Consider having bought a new washing machine which looks very good and fulfills all your needs — Hot water setting, Timer, etc. But it has gone into repair many times during its warranty period. The reason given was that the load was more than it could handle.
Thus, while externally the product was as per your requirement, the internal design which a user cannot see was not up to the mark!!
Quality refers to the internal design of the Product, Reliability, and Operability.
Functional and Non-Functional Quality
l Fitness for Purpose: Software performs all tasks as specified in the SRS document.
l Infrastructure Support: Software supports the environment specified and is scalable E.g., the software works in all browsers.
l Cost: The cost heads associated with the development and delivery of software is within the budget.
l Process: The development and review process is well established and as per standards.
l Management: The review and monitoring system has all the checkpoints to assess and ensure Product quality.
l Reporting: The reporting and documents are timely, informative, and actionable.
l Functional Suitability / Appropriateness: Appropriateness, Accuracy, and Compliance E.g. If the user wants confirmation of the ticket booked to be mailed instead of printing. Is this option available?
l Performance Efficiency (Time Behavior): Response Time, Resource Utilization, and Compliance E.g. What is the response time for the searches available? Is it quick enough?
l Compatibility (Inter-Operability): Co-existence, replaceability, interoperability, compliance E.g., Is the Website usable from a mobile/iPad?
l Usability: Ease of use, help available, learning ease, compliance E.g. Is the site easy to navigate and use?
l Reliability: Fault tolerance, availability, recoverability, compliance E.g., Will the application display the bookings when there is a power shutdown while printing the ticket?
l Security: Confidentiality, integrity, accountability, authenticity, compliance E.g. Are personal data shared on the site secure?
l Maintainability: Component reusability, ease of change, ease of replication, testability, stability, compliance, E.g. How easy is it to enhance the site with new features?
l Portability: Ease of installation, portable, adaptable, compliance E.g. Will the site behave the same way if the operating system is changed/updated?
Quality Is Multi-Dimensional
The COQ is the cost incurred to check that the Product conforms to the client’s requirement efficiently and satisfactorily and meets all the above agreed and desirable quality points.
Quality is not just reducing defects.
l In order to run a good boutique, one must first understand the market as well as the current trend/requirement.
l Get good dress designers, good tailors, train the tailors and the designers in their field.
l Plan for infrastructure to support the needs of the tailor and designer and also the client should feel at ease and secure when in the shop for trial.
l Designers should be able to communicate and understand the client and be able to change and adapt to fulfill the client’s requirements.
l Monitor and review the dress when in progress and check if it as per the design. Provide margins to be able to alter if required.
l Be ready to change the design if the client is not happy with the end product.
l Be on time and accept rejection if the product is not as per the agreed expectation and provide replacement or compensation, etc.
The client needs to be impressed and be your lifetime client and mouthpiece to market your product.
The same is also applicable for software. We need to understand the client’s requirements and market trends and suggest alignment and lead & build a strong rapport in the process.
Internally, we need to plan for technical design, process layout, infrastructure layout, resources, training, review, monitor, improve, report, and regularly communicate with all stakeholders. At the same time prepare to address failures and correct them. Have plans to address the worst and mitigate the risk of failure.
The cost of many of the above activities to manage the client’s tangible and intangible expectations adds up to the COQ cost heads.
As Dilbert puts it, Quality is Multi-Dimensional!!!
Cost Of Good Quality
The categories to measure the cost of good quality are explained below.
l Prevention Costs: It includes the cost to prevent bad quality, continuous training for developers, designers to be able to design and develop code that is easy to maintain, follow the process and adheres to performance & security standards, etc.
l Detection / Appraisal Costs: The cost incurred to determine conformance to quality requirements. This includes the cost of developing Test design and cases with full coverage of business requirements, performance checks, and application checks. The cost also includes setting up various testing environments, creating relevant Test data, Testing, Defect logging, Automation scripts, and Tracking, etc.
The costs incurred to avoid or minimize the number of defects in the first place are known as Prevention costs. Some examples of prevention costs are the improvement of manufacturing processes, workers training, quality engineering, statistical process control, etc.
In software, it will be Developer Training, good and precise functional requirements captured by BA, good designers, and architects. Secondly, good processes in place like client approval of requirements before coding, and coding standards must be followed.
Timely delivery of code post-unit testing by the developers and follow the process laid in the organization. The cost spent on building testing related components like Test planning, Test coverage, Automation scripts, Test plan review, Test Environments, Test data, etc.
The cost incurred to achieve all of the above will be considered as Prevention Cost.
The costs incurred to detect defects before it reaches the client are known as Detection Costs. Some examples of detection costs are inspection, tests, and audits conducted to ensure consistent quality and conformance to established procedures.
Detection costs include the cost of resources, both human resources and infrastructure. In software, the cost spent to perform intermittent reviews by a peer i.e. Seniors. All audits performed, internal and external, are also part of this cost head.
Tools installed for Defect Tracking, Test Management, Automation, etc., are all consolidated under this cost head. Cost of Non-functional Testing, if done like Performance Testing, Load Testing, Usability Testing, Security Testing are all a part of this cost head.
Cost Of Poor Quality
The categories to measure the cost of poor quality are explained below.
l Internal Failure Costs include costs incurred in fixing defects during internal checks by the software organization before delivery E.g., re-work, re-testing, bug fixing, re-design, etc.
l External Failure Costs include product support costs incurred after the Product has been delivered and defects reported by the client. e.g., costs to process customer complaints, losing a competitive edge in the Market, Returns, Patches, Warranty claims, Company Reputation Damage, lawsuits, Company devaluation, Losing customer goodwill, etc.
Internal Failure Costs
Costs associated with defects can be found before the customer receives the product or service. The cost of rework for fixing the bug, re-testing efforts, root cause analysis for bugs, people, and environmental costs are all a part of this cost head.
Cost of resource unavailabilities like network failure and test environment crash is also part of this cost head. Scenario recreation to check and understand the bug even if it is rejected or non-reproducible is part of this cost head.
External Failure Costs
The costs associated with defects are found after the customer receives the product or service. Cost to fix customer complaints, Penalty cost paid due to customer dissatisfaction. Product rejection returns, and in some extreme cases lawsuits also come into the picture.