3.
Objectives of cost of software quality metrics
The classic model of cost of software quality
Application of a cost of software quality
system
4. 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
5. 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
6.
7.
8. 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)
9.
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
10. 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.
11. 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.
12. 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.
13.
External failure costs include all costs of
correcting failures detected by customers or
the maintenance team after the software
system has been installed.
14.
15.
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.
16. 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
17. 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.
18. 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
19. 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.
20. 2. Costs of software testing:
Unit tests
Integration tests
Software system tests
Acceptance tests (participation in tests carried
out by the customer).
21. 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.
22.
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.
23.
Internal failure costs are those incurred when
correcting errors that have been detected by design
reviews, software tests and acceptance tests performed 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.
24.
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 retesting (regression tests).
25.
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.
26.
27.
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
28.
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.
29.
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.
30.
31.
•
•
•
•
•
•
•
•
•
•
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
32.
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).
33.
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.
34.
35.
36. ISO/IEC29110 Standard
Suitable for very small entity >>> not over 25 people
Statement of Work
Project
Management
Basic profile
Software
Implementation
Software
Configuration
37.
38.
39.
40.
41.
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