In recent years, IT positions and activities are being ever more scrutinized by business executives in terms of added value, i.e. larger profit margins, lower operational costs, customer acquisition, faster software product delivery.
Hence, measuring software development with business criteria, like return on investment (ROI) for example, has become the new norm, and all IT projects are expected to perfectly fall in line with business strategy. The cost of quality in software development is the metrics that could aid in turning software into a profitable tool for companies.
The relevance of cost of quality, or COQ in short, for software products has been brought upon mostly due to the costs incurred by low-quality programs/apps. The main goal of this approach is to balance capabilities and cost, reduce rework and bug fixing, and in that way reduce operational costs while delivering a quality product to customers. In other words, it is all about business efficiency.
Quality management is much needed in software development, although it doesn’t guarantee a 100% error-free result. With it realistic objectives can be set, product flaws prevented and, in general, positive results can be delivered within constraints, though quality is gained at a price. That price is the cost of quality efforts, additional time, resources and equipment. So, is quality worth the extra cost?
Defining the COQ
Overall, the term cost of quality (COQ) is a means to sum up product quality-related costs (control, detection, prevention) and defect-related costs (failure, non-conformance, deficiencies). By doing this, company management can evaluate the soundness of investments into quality. The concept was first introduced by Armand Feigenbaum in 1956.
Simply put, COQ is extra expenses, beyond production costs, to ensure the quality end-product. The Cost of Quality includes prevention, appraisal, and correction or repair costs. COQ is split into two groups: cost of control and cost of failure of control, with each further split into two sub-categories.
Cost of control includes prevention cost (to prevent defects) and appraisal cost (to detect defects), while cost of failure of control consists of internal failure and external failure costs.
Thus, a formula for COQ calculation is simple:
Cost of control + cost of failure of control = COQ
Regarding the cost of quality in software development, it isn’t as sophisticated and established a practice as compared to the COQ adopted in manufacturing and other fields. While in manufacturing cost components are visible and classifiable, the debate over how to measure quality-associated costs in software development is still ongoing.
Post-launch defects, a.k.a. software bugs, are much too common and difficult to eradicate in the software industry still, therefore the question remains open – is it worth applying COQ in software development?
The cost of quality in software development
COQ in the software development world refers to the costs teams are investing to ensure their products/services are of high quality and defect-free. Today’s software is remarkably complex, comprises thousands of lines of code, and a huge amount of errors (aka ‘bugs’).
That’s why companies must invest in costs- in form of resources and activities – throughout the lifecycle, to prevent failures; and considering that about 70-80% of development costs are usually spent on correcting bugs, we arrive at the conclusion that the cost of quality in software development is really important.
Let’s see what the aforementioned four groups of COQ typically represent in terms of the software development life cycle:
- External failure costs – linked to defects the customer finds post-sale, e.g. costs to process customer complaints, returns, warranty claims.
- Internal failure costs – linked to defects found before selling the product to customers, e.g. re-work, re-testing, bug fixing, re-design.
- Appraisal costs – incurred to determine conformance to quality requirements, e.g. measurements, audits, evaluations, inspections, testing.
- Prevention costs – incurred to prevent bad quality, e.g. quality planning, project management, feature review, product review, Agile and process review, team training.
A template for evaluating COQ in software development would look something like this table:
Note: COQ is important, yet at the same time, it should rather be kept pragmatic in relation to project goals, otherwise it can lead to significant overhead costs to the budget. As only few projects start with certainty in requirements and costs, somewhere between facts and guesswork there are assumptions and constraints in use as factors helping define realistic results.
In plain words, assumptions refer to capabilities, and constraints refer to limitations, which in project planning usually help envision schedules, resources, costs, procedures, etc.
After investing into COQ for software projects, one may be able to evaluate the following:
- The share of cost of quality in software development out of total costs;
- Percentage of failure costs out of total development costs;
- The share of cost of software quality out of total sales and maintenance.
Bottom line: in software development quality should be planned and implemented, not inspected afterwards. The reason is in clear sight – the cost of preventing errors is less than the cost of correcting errors found on final stages or by customer complaints. One can calculate COQ in terms of effort (hours or days), in terms of money (by converting the effort into cost), or as a percentage of total cost.
Quality requires additional costs
The issue of cost of quality in software development is about balance, as with many other aspects. Quality management creates adds extra costs and time, and, if not addressed, could potentially become a point of failure. A practical and beneficial COQ would be the one aligned with project requirements and quality goals, preventing defects and not exceeding the budget.
This means, while quality is really crucial, it doesn’t need to be attained in every feature down to each detail. In this quest to minimize costs without compromising quality, a good starting point is finding the spot at which cost of control can ensure targeted results without going overhead. Apropos, solving such a balancing act could be one of the traits of a skilled CTO.
Further on, some of the questions to consider:
- What are your goals for process and project quality?
- What are your anticipated project results and what practices are used to obtain them?
- How would you define and measure quality?
- If quality goals aren’t obtained, what would the consequences be?
- What quality management activities can you apply and how much would they cost or add to the budget?
- What is of higher priority: overhead costs for quality or a risk of defects for the sake of faster delivery/lower costs?
Hypothetical case evaluation
On account of COQ practicality, let’s conduct a small hypothetical case evaluation.
Say, we are developing a mobile app with 2 scenarios: with and without quality management. In each case, we’re dealing with 200 errors (bugs) total, and assume a $20 price to fix a bug found internally, while a $100 price to fix a bug found externally.
First case – no quality management
In the first case, without quality management in place, COQ investment is zero, and we only spend money to fix bugs.
Say, we found 50 bugs internally, and 150 were reported by customers after they used the app.
Total COQ would equal (50*$20)+(150*$100)= $16,000.
Second case – 100 h for quality management
In the second case, let’s assume we spend 100 additional hours on quality management procedures. Thus, at the average $50 hourly developer rate, we invest about $5,000 in software quality.
As a result, we detect more bugs internally – 175, lower external bugs to 25.
The total COQ equals $5,000+((175*$20)+(25*$100))= $11,000.
As we see, the total cost of quality is in favor of the second case. Although this is neither an ultimate equation and the figures aren’t exact, it’s possible to conclude that if you invest in essential features of a product and you build and ensure real quality there, then COQ in software development is really worth considering.
For final disclosure, we should note that most IT-companies end up with 15-20% quality-related costs out of total sales revenue, and few of them spend even more. A rule of thumb for efficient and profitable workflow would be 10 to 15%.