Software Quality Engineering
BS(SE)-VI
Dr. Assad Abbas
Department of Computer Science
Cost of Software Quality (CoSQ)
n Cost of software quality – the economic assessment of software quality
development and maintenance – is just another class of software quality metrics, where financial values are used as the measuring tool.
n Application of common financial measures enables management to obtain
the type of general overview of all software quality assurance activities unavailable with any other metrics.
n Application of cost of software quality metrics enables management to
achieve economic control over SQA activities and outcomes. The specific objectives are:
5 Control of organization-initiated costs to prevent and detect software errors
5 Evaluation of the economic damages of software failures as a basis for revising the SQA budget
3
9/22/20
Objectives of cost of software quality metrics
n Managerial control over the cost of software quality is
achieved by comparison of actual performance figures with: 5 Control budgeted expenditures (for SQA prevention and appraisal
activities)
5 Previous year’s failure costs
5 Previous project’s quality costs (control costs and failure costs)
Cost metrics/parameters for the evaluation of an SQA
Plan
n Percentage of cost of software quality out of total software
development costs
n Percentage of software failure costs out of total software
development costs
n Percentage of cost of software quality out of total software
maintenance costs
n Percentage of cost of software quality out of total sales of
5
9/22/20
The classic model of cost of software quality
n The classic quality cost model, developed in the early 1950s by
Feigenbaum and others, provides a methodology for classifying the costs associated with product quality assurance from an economic point of view.
n The model classifies costs related to product quality into two
The classic model of cost of software quality
n Costs of control include costs that are spent to prevent and
detect software errors in order to reduce them to an accepted level.
n Costs of failure of control include costs of failures that
occurred because of failure to prevent and detect software errors.
n Prevention costs include investments in quality infrastructure
and quality activities that are not directed to a specific project or system, being general to the organization.
n Appraisal costs include the costs of activities performed for
7
9/22/20
The classic model of cost of software quality
n Internal failure costs include costs of correcting errors that
have been detected by design reviews, software tests and
acceptance tests (carried out by the customer) and completed before the software is installed at customer sites.
n External failure costs include all costs of correcting failures
The classic model of cost of software quality
n Prevention costs
5 Investments in development of new or improved SQA
infrastructure components or, alternatively, regular updating of those components:
g Procedures and work instructions
g Support devices: templates, checklists, etc.
g Software configuration management system
g Software quality metrics (product, process, project)
5 Regular implementation of SQA preventive activities:
g Instruction of new employees in SQA subjects and procedures
related to their positions
g Instruction of employees in new and updated SQA subjects and
procedures
g Certification of employees for positions that require special
certification
g Consultations on SQA issues provided to team leaders and
9
9/22/20
The classic model of cost of software quality
n Prevention costs
5 Control of the SQA system through performance of:
g Internal quality reviews
g External quality audits by customers and SQA system
certification organizations
The classic model of cost of software quality
n Appraisal costs
5 Reviews:
g Formal design reviews (DRs)
g Peer reviews (inspections and walkthroughs) g Expert reviews
5 Costs of software testing
g Unit tests
g Integration tests
g Software system tests
g Acceptance tests (participation in tests carried out by the customer).
5 Costs of assuring quality of external participants, primarily by means of design reviews and software testing. These activities are applied to the activities performed by:
g Subcontractors
11
9/22/20
The classic model of cost of software quality
n Internal failure costs
5 internal failure costs represent the costs of error
correction subsequent to formal examinations of the software during its development, prior to the system’s installation at the customer’s site.
g Costs of redesign or design corrections subsequent to
design review and test findings
g Costs of re-programming or correcting programs in
response to test findings
g Costs of repeated design review and re-testing (regression
tests).
g Importantly, although the costs of regular design reviews
and software tests are considered appraisal costs, any
The classic model of cost of software quality
n External failure costs
5 External failure costs entail the costs of correcting failures detected by customers or maintenance teams after the software system has been installed at customer sites.
5 These costs may be further classified into “overt” external failure costs and “hidden” external failure costs. In most cases, the extent of hidden costs is much greater than that of overt costs. Typical overt external failure costs include:
g Resolution of customer complaints during the warranty period
g Correction of software bugs detected during regular operation (often
performed at customer’s site)
g Correction of software failures after the warranty period is over even if the
correction is not covered by the warranty.
g Damages paid to customers in case of a severe software failure detected
during regular operation.
g Reimbursement of customer’s purchase costs, including handling, in case
of total dissatisfaction (relates to COTS software packages as well as to custom-made software).
13
9/22/20
The classic model of cost of software quality
n Typical examples of hidden external failure costs are:
5 Damages of reduction of sales to customers suffering from high rates of software failures
5 Severe reduction of sales motivated by the firm’s damaged reputation
5 Increased investment in sales promotion to counter the effects of past software failures
An extended model for cost of software quality
n The extended cost of software quality model, extends the
classic model to include management’s “contributions” to the total cost of software quality. According to the extended
15
9/22/20
An extended model for cost of software quality
n Managerial preparation and control costs
5 Costs of carrying out contract reviews (proposal draft and
contract draft reviews).
5 Costs of preparing project plans, including quality plans and
their review.
5 Costs of periodic updating of project and quality plans.
5 Costs of performing regular progress control of internal
software development efforts.
5 Costs of performing regular progress control of external
An extended model for cost of software quality
n Managerial failure costs
5 Managerial failure costs can be incurred throughout the entire
course of software development, beginning in the pre-project stage. Typical managerial failure costs include:
g Unplanned costs for professional and other resources, resulting from
underestimation of the resources upon which the submitted proposals are based.
g Damages paid to customers as compensation for late completion of the
project, a result of the unrealistic schedule presented in the company’s proposal.
g Damages paid to customers as compensation for late completion of the
project, a result of management’s failure to recruit sufficient and appropriate team members.
g Domino effect: damages to other projects performed by the same teams