41
SE422 Software Quality Assurance CH-10 Cost of Software Quality Software Engineering College of Arts, Media and Technology ,CMU. Kittitouch S. 1.1-20-2-12

Ch 10 cost of software quality

Embed Size (px)

Citation preview

Page 1: Ch 10 cost of software quality

SE422 Software Quality AssuranceCH-10 Cost of Software Quality

Software EngineeringCollege of Arts, Media and Technology ,CMU.

Kittitouch S.1.1-20-2-12

Page 2: Ch 10 cost of software quality

Document history

version Change detail Release date Author

1.0 - 17-2-12 Kittitouch

1.1 Add page32,33,36

20-2-12 Kittitouch

Page 3: Ch 10 cost of software quality

Topics

Objectives of cost of software quality metrics

The classic model of cost of software quality

Application of a cost of software quality system

Page 4: Ch 10 cost of software quality

Cost of Software Quality

To be completed

There are about ‘Y errors’ per 1000 lines of code

It takes about ‘Z minutes’ to find each error

It takes about ‘U hours’ to fix each error

Page 5: Ch 10 cost of software quality

Cost of Software Quality

There are about ‘5 to 15 errors’ per 1000

lines of code

It takes about ‘75 minutes’ to find each error

It takes about ‘2 to 9 hours’ to fix each error

Page 6: Ch 10 cost of software quality
Page 7: Ch 10 cost of software quality
Page 8: Ch 10 cost of software quality

Objectives of cost of software quality metrics

Managerial control over the cost of software quality is achieved by comparison of actual performance figures with:

Control budgeted expenditures (for SQA prevention and appraisal activities)

Previous year’s failure costs

Previous project’s quality costs (control costs and failure costs)

Other department’s quality costs (control costs and failure costs)

Page 9: Ch 10 cost of software quality

The specific objectives are: Control organization-initiated costs to

prevent and detect software errors

Evaluation of the economic damages of software failures as a basis for revising the SQA budget

Evaluation of plans to increase or decrease SQA activities or to invest in a new or updated SQA infrastructure on the basis of past economic performance

Page 10: Ch 10 cost of software quality

The classic model of cost of software quality

The model classifies costs related to product quality into two general classes:

Costs of control include costs that are spent to prevent and detect software errors in order to reduce them to an accepted level.

Costs of failure of control include costs of failures that occurred because of failure to prevent and detect software errors. The model further subdivides these into subclasses.

Page 11: Ch 10 cost of software quality

Costs of control

Costs of control are assigned to either the prevention or the appraisal costs subclass:

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.

Appraisal costs include the costs of activities performed for a specific project or software system for the purpose of detecting software errors.

Page 12: Ch 10 cost of software quality

Failures of control costs

Failures of control costs are further classified into internal failure costs and external failure costs:

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.

Page 13: Ch 10 cost of software quality

Failures of control costs

External failure costs include all costs of correcting failures detected by customers or the maintenance team after the software system has been installed.

Page 14: Ch 10 cost of software quality

The classic model of cost of software quality

Page 15: Ch 10 cost of software quality

Prevention costs

Prevention costs include investments in establishing a software quality infrastructure, updating and improving that infrastructure as well as performing the regular activities required for its operation.

Page 16: Ch 10 cost of software quality

Typical preventive costs include:

1. Investments in development of new or improved SQA infrastructure components or, alternatively, regular updating of those components:

Procedures and work instructions Support devices: templates, checklists,

etc. Software configuration management

system Software quality metrics

Page 17: Ch 10 cost of software quality

Typical preventive costs include:

2. Regular implementation of SQA preventive activities:

Instruction of new employees in SQA subjects and procedures related to their positions

Instruction of employees in new and updated SQA subjects and procedures

Certification of employees for positions that require special certification

Consultations on SQA issues provided to team leaders and others.

Page 18: Ch 10 cost of software quality

Typical preventive costs include:

3. Control of the SQA system through performance of:

Internal quality reviews External quality audits by customers

and SQA system certification organizations

Management quality reviews

Page 19: Ch 10 cost of software quality

Appraisal costs

Appraisal costs are devoted to detection of software errors in specific projects or software systems.

Typical appraisal costs cover:1. Reviews:

Formal design reviews (DRs) Peer reviews (inspections and

walkthroughs) Expert reviews.

Page 20: Ch 10 cost of software quality

Typical appraisal costs cover:

2. Costs of software testing: Unit tests Integration tests Software system tests Acceptance tests (participation in tests

carried out by the customer).

Page 21: Ch 10 cost of software quality

Typical appraisal costs cover:

3. 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:

Subcontractors Suppliers of COTS (Commercial Off-The-

Shelf)software systems and reusable software modules

The customer as a participant in performing the project.

Page 22: Ch 10 cost of software quality

External failure costs

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.

Page 23: Ch 10 cost of software quality

Internal failure costs

Internal failure costs are those incurred when correcting errors that have been detected by design reviews, software tests and acceptance tests per-formed before the software has been installed at customer sites.

Internal failure costs represent the costs of error correction subsequent to formal examinations of the software during its development.

Page 24: Ch 10 cost of software quality

Typical costs of internal failures are:

Costs of redesign or design corrections subsequent to design review and test findings

Costs of re-programming or correcting programs in response to test findings

Costs of repeated design review and re-testing (regression tests).

Page 25: Ch 10 cost of software quality

Typical external failure costs cover:

Resolution of customer complaints during the warranty period.

Correction of software bugs detected during regular operation.

Correction of software failures after the warranty period is over even if the correction is not covered by the warranty.

Page 26: Ch 10 cost of software quality

An extended model for cost of software quality

Page 27: Ch 10 cost of software quality

Extended COQ Managerial Preparation and Control Costs

Costs of carrying out contract reviews Costs of preparing project plans,

including quality plans Costs of periodic updating of project and

quality plans Costs of performing regular progress

control Costs of performing regular progress

control of external participants’ contributions to projects

Page 28: Ch 10 cost of software quality

Extended COQManagerial Failure Costs

Unplanned costs for professional and other resources, resulting from underestimation of the resources in the proposal stage.

Damages paid to customers as compensation for late project completion, a result of the unrealistic schedule in the Company’s proposal.

Page 29: Ch 10 cost of software quality

Extended COQManagerial Failure Costs

Damages paid to customers as compensation for late completion of the project, a result of management’s failure to recruit team members.

Domino effect: Damages to other projects planned to be performed by the same teams involved in the delayed projects. The domino effect may induce considerable hidden external failure costs.

Page 30: Ch 10 cost of software quality
Page 31: Ch 10 cost of software quality

Customer Failure Costs

Types of costs absorbed by the customer who buys a defective product.

• Wasted time • Lost data • Lost business • Frustrated employees quit • Demos or presentations to potential customers fail

because of the software• Cost of replacing product• Cost of reconfiguring the system• Cost of tech support• Injury / death• Cost of bad publicity

Page 32: Ch 10 cost of software quality

The organizations involved in standards development

IEEE -(Institute of Electrical and Electronics Engineers) Computer Society

ISO- (International Organization for Standardization) DOD -(US Department of Defense) ANSI -(American National Standards Institute) IEC -(International Electro technical Commission) EIA -(Electronic Industries Association).

Page 33: Ch 10 cost of software quality

Example of standard

ISO/IEC 9000-3 – Quality certification standards for software development and maintenance organizations

ISO/IEC 15504 – Organizational software process capability/capacity Assessment

ISO/IEC/IEEE 12207 – Software development practices.

Page 34: Ch 10 cost of software quality

Cost of Quality Trade-offs

Page 35: Ch 10 cost of software quality
Page 36: Ch 10 cost of software quality

ISO/IEC29110 Standard

ProjectManagement

Statement of Work

SoftwareImplementation

Software Configuration

Suitable for very small entity >>> not over 25 people

Basic profile

Page 37: Ch 10 cost of software quality
Page 38: Ch 10 cost of software quality
Page 39: Ch 10 cost of software quality
Page 40: Ch 10 cost of software quality
Page 41: Ch 10 cost of software quality

Reference

Chapter 22:Daniel Galin. SOFTWARE QUALITY ASSURANCE From theory to implementation. Pearson Education Limited,2004.

Costs and Benefits of Quality :Claude Y Laporte,SQA.,2009