Whenever in an organisation a project is proposed for building some new Software or making improvement to already existing software then a Software Development Life Cycle is followed which involves 8 steps => Planning, Identifying/Documenting Requirements, Designing, Building, Documenting Source Code, Testing, Deploying, Maintaining.
As this process of Developing Software involves so many steps and so many programmers/developers there may arise some issues with final Software Product. Issues like not scalable, less efficient are quite common. But before shipping any software to client/user appropriate Quality checking should be done.
Quality checking essentially means running certain tests to check if Software is performing up to standards which are required by client or users. Doing this additional Software testing adds up some cost to overall budget of Software Development Project. That’s why organisations kind of resist to do extensive Software Quality Testing, but for some type of software its really crucial to extensively test it before deploying. For example – Software used in Aeroplanes need to be tested extensively as Cost of software failure may lead to loss of Human Lives.
Software Quality Costs
- Prevention Costs
- Appraisal Costs
- Internal Failure Costs
- External Failure Costs
- Reputation loss due to low Software Quality
Prevention Costs – Cost incurred to company for preventing its Software quality from degrading. This involves extensively testing Software Source Code before finalising it for deploying, training employees to better identify errors in Software Source Code.
Appraisal Costs – Cost of testing Software while it’s in Development.
Internal Failure Costs – Costs to get rid of errors found in Software internally, like to solve certain software issues hiring some external consultancy costs.
External Failure Costs – Costs occurred to company due to failure of software in Deployment. Like a company made a Software Product handed it over to its client and then in Deployment some major failure occur, this may lead client to cancel/retrieving future Software Projects with company. This kind of situation can cause a large financial loss to company.
Reputation loss due to low Software Quality – If a company have delivered low quality Software to its client which don’t fulfill client requirement then it may lead to Reputation loss of company in Software Development Industry.
Categories of Software Quality Costs
|Main Category||Sub Category||Definition||Costs Involved|
|Prevention Cost||Quality basis definition||Effort to define quality|
Setting quality goals
Quality Trade-off analysis
|Definition of release criteria for acceptance testing and related quality standards|
|Project and process-oriented interventions||Effort to prevent poor product quality or improve process quality||Process improvement|
Training of Employees
|Appraisal or Cost Evaluation||Discovery of condition of product||Discovery of level of non-conformance||Testing|
|Ensuring achievement of quality||Quality Control||Software Proposal Review|
|Cost of Anomalies||Internal Anomalies||Problem detected before delivery to customer||Recoding|
|External Anomalies||Problem Detected after delivery to customer||Warranty Support|
As there are a number of costs involved in ensuring Software Quality which adds on top of Project Budget. Then why would companies invest in Software Quality? Companies invest in software quality to ensure their long-term success and building a trustworthy relationship amongst users or clients.