Upload
kittitouch-suteeca
View
399
Download
1
Tags:
Embed Size (px)
Citation preview
SE422 Software Quality AssuranceCH-10 Cost of Software Quality
Software EngineeringCollege of Arts, Media and Technology ,CMU.
Kittitouch S.1.1-20-2-12
Document history
version Change detail Release date Author
1.0 - 17-2-12 Kittitouch
1.1 Add page32,33,36
20-2-12 Kittitouch
Topics
Objectives of cost of software quality metrics
The classic model of cost of software quality
Application of a cost of software quality system
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
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
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)
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
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.
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.
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.
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.
The classic model of 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.
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
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.
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
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.
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).
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.
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.
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.
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).
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.
An extended model for 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
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.
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.
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
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).
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.
Cost of Quality Trade-offs
ISO/IEC29110 Standard
ProjectManagement
Statement of Work
SoftwareImplementation
Software Configuration
Suitable for very small entity >>> not over 25 people
Basic profile
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