Recently, I came across one of the important concept in Software Quality which unfortunately has seen little use to date. It is "Cost of Software Quality (CoSQ) or Cost of Quality (CoQ) ".
CoQ has its footsteps from manufacturing and is now finding its way to software , which is one of the most economically challenging & important field of the current era.
Even though many successful products & systems exist in the world today, lack of attention to quality has also led to many unsuccessful software products & software projects that are late , over budget or canceled. Sounds familiar !! Yes it is ..
Software Quality Matters !!
So, does quality also costs ? Yes definitely...but Is it the " poor quality " or "good quality" that costs more ?
This is where fits CoSQ an important metric to calculate "How much the Quality costs".
I recalled here a very famous dictum : " You can't improve if you can't Measure " . Same goes with the Quality also , which is often a less thought of area/function in software.
If you can't measure Software quality how can you improve ?
CoSQ Model - What's this funda all about !!CoSQ is a framework that is used to find out how much good and poor quality costs .
But before we dive into the mechanics of how to calculate this and use it , lets first ponder why & where CoSQ can be used within software.
Why CoSQ ?
In the projects there are many common areas of concern or problems that usually go unaccounted as there is no direct measure against each of them. These include :
1. Excessive turnover
2. Poor team work
3. Lack of Planning
4. Lack of competitive knowledge
5. Poor Problem Handling
6. Lack of good practices & standards
7. Ineffective project performance & many more..
And these all cost to our project . How ? By producing lower quality product, which demands lot of effort in rework, defect fixing , etc.
But these types of costs are usually invisible to the management. CoSQ metric comes as a rescue here. It provides measure of these invisible costs & makes the economics of software quality visible to your organization. Thus, it allows "quality" to participate in decisions equally with cost & schedule concerns.
Where CoSQ can be used ?
1. Provide measure to compare the success/failure of various projects and/or organisations.
2. Measure the impact or ROI of the organizational software quality improvement programs.
3. Previously hidden costs related to poor quality becomes visible.
4. The economic tradeoffs involved with software quality becomes visible , thus leading to better decision making.
5. Provide cost data to demonstrate the relationship of employee efforts to the bottom line.
Applying CoSQ to Software ..
CoSQ is broken down into three different type of costs :
a) Appraisal Costs - Those which are incurred in the appraisal & achievement of acceptable quality . These include , testing, reviews, inspections , product audits, etc.
b) Prevention Costs - Those which are incurred in order to prevent poor quality from occurring. Eg. Training, Process Improvements, Metrics collection & analysis, TQM, adopting quality standards.
c) Failure Costs - Those which are incurred due to lack of quality . Includes rework , re-reviews, re-testing, remedial upgraded & fixes, warranty etc.
Failure cost can be external if quality problem is detected after shipment or Internal Failure costs if detected prior to shipment.
In nutshell ..
Cquality = Cconformance +Cnon conformance
Conformance costs include Appraisal & Prevention Costs. Non Conformance costs include Failure costs (Internal & External)
Cost of Poor Quality = (Total Rework due to Defects / Total Actual Effort) * 100
Cost of conformance (achieving quality) & costs of non conformance (poor quality) have an inverse relationship.
So as the investment in achieving quality increases , the cost of poor quality decreases.
Now hold on..here lies the key to CoSQ principle.
The Cost of Quality is a significant cost on any project . So , ask yourself a question . How high is your Cost of Quality? I know immediate answer you would have will be Yes, it includes reviews, audits , QA infrastructure, and preparing tests—those are your “Appraisal Costs”. But how high are your “Failure Costs”—the cost of defects and rework?
Failure Costs, which are the more significant Cost of Quality & are the ones that happen to us. We incur these “Costs of Poor Quality” every time a defect comes to light, both during testing and after release. Failure costs take many forms:
- The effort that our developers spend investigating and diagnosing defects, and then reworking designs and code to correct them.
- Slips in our schedules, as testing uncovers defects that require rework and re-testing.
- Our customer support costs, most of which are for helping customers to deal with all of the defects we shipped to them, while developers spend even more time in investigation and rework.
But, the biggest Failure costs are nearly impossible to quantify; loss of customer good will, tarnished reputation in the market, and loss of product momentum.
Since some components of the Cost of Quality are under our direct control and some others are not. So you can gain control over them indirectly, by investing in Appraisal Costs that minimize Failure Costs, reducing your total Cost of Quality and making it more predictable.Therefore, leveraging Appraisal/Prevention costs to Reduce Failure Costs.
Some data facts ..
As reported consistently in software industry, Failure Costs rise exponentially as the project progresses and we all know that defects are most expensive to fix late in project lifecycle.
And on top of it reducing Appraisal costs will increase our total Cost of Quality, because it is likely to result in an even larger increase in Failure costs.
The CoSQ is reported as percent of development costs in software . But it can also be reported as percent of sales/profits. CoSQ in software organization can range from 40-55% of the development costs with conformance to nonconformances costs ratio from 1.5 -2.0. But it has been observed that implementing process Improvement such as CMMI has helped to bring down the CoSQ from 70% to approximately 40 % of the total project cost.
Therefore, a well-designed & implemented COQ (Cost of Quality) software will facilitate your organization to rapidly improve at maximum rate.
CoSQ represents the "non-usual" process which is usually hidden by conventional tracking mechanisms.
Introduce CoSQ into your organization and it will help to understand value of software quality & at the same time eliminate the wide-spread & devastating effects of poor software quality.
To sum up in short, Software Quality Matters and thus measuring the CoSQ !!