07/24/14Total Quality Management
1
QUALITY CONCEPTS
07/24/14Total Quality Management
2
What is it?
You know quality when u see it and yet it can be an elusive thing to define,
but for computer quality is something that we must define.
Who does it ?
Software engineers,
Mangers
Stakeholders
Why is it important ?
You can do it right, or you can do it over again
What are the steps?
To achieve high-quality 4 steps must occur
Proven software engineering process and practice
Solid project management
Comprehensive quality control
The presence of a quality assurance infrastructure
What is the work product ?
•s/w meets its customer needs
•Performs accurately and reliably &
•Provides value to all who use it
How do I ensure that I ‘ve done it right?
•Track the quality by examining the result of quality control activates
•Measure quality by examining errors before delivery and defects released to the field
What is quality ?3
Quality popular view:
– Something “good” but not quantifiable
– Something luxury and classy
Quality professional view:
– Conformance to requirement
(Crosby, 1979)
The requirements are clearly stated and the
product must conform to it
Any deviation from the requirements is regarded
as a defect
 A good quality product contains fewer defects
– Fitness for use (Juran, 1970):
Fit to user expectations: meet user’s needs
A good quality product provides better user
satisfaction
07/24/14Total Quality Management
4
Problems with Software Quality
© Oscar NierstraszESE — Software Quality
ESE
11.5
Software specifications are usually incomplete and often inconsistent
There is tension between:
customer quality requirements (efficiency, reliability, etc.)
developer quality requirements (maintainability, reusability, etc.)
Some quality requirements are hard to specify in an unambiguous way
directly measurable qualities (e.g., errors/KLOC),
indirectly measurable qualities (e.g., usability).
Quality management is not just about reducing defects!
07/24/14Total Quality Management
6
Example of quality in software engineering
What is Quality Management
7
Also called software quality assurance (SQA)
Serves as an umbrella activity that is applied throughout the software process
Involves doing the software development correctly versus doing it over again
Reduces the amount of rework, which results in lower costs and improved time
to market Encompasses
•A software quality assurance process
•Specific quality assurance and quality control tasks (including formal
technical reviews and a multi-tiered testing strategy)
•Effective software engineering practices (methods and tools)
•Control of all software work products and the changes made to them
•A procedure to ensure compliance with software development standards
Measurement and reporting mechanisms
Quality Defined8
Defined as a characteristic or attribute of something
Refers to measurable characteristics that we can compare to
known standards
In software it involves such measures as cyclomatic
complexity, cohesion, coupling, function points, and source
lines of code
Includes variation control
A software development organization should strive to
minimize the variation between the predicted and the actual
values for cost, schedule, and resources
They should make sure their testing program covers a
known percentage of the software from one release to
another
One goal is to ensure that the variance in the number of
bugs is also minimized from one release to another
Quality Defined (continued)
9
Two kinds of quality are sought out
Quality of design
The characteristic that designers specify for an item
This encompasses requirements, specifications, and the design of the system
Quality of conformance (i.e., implementation)
The degree to which the design specifications are followed during
manufacturing
This focuses on how well the implementation follows the design and how
well the resulting system meets its requirements
Quality also can be looked at in terms of user satisfaction
Other 2 are:
Quality control
series of inspections, reviews, and tests used to ensure
conformance of a work product (artifact) to its specifications
Quality assurance
auditing and reporting procedures used to provide management
with data needed to make proactive decisions
User satisfaction = compliant product + good quality +
delivery within budget and schedule
A Pragmatic View- Five Views of Software Quality
07/24/14Total Quality Management
10
The transcendental view
argues (like Persig) that quality is something that you immediately recognize, but
cannot explicitly define.
The user view
sees quality in terms of an end-user’s specific goals. If a product meets those
goals, it exhibits quality.
The manufacturer’s view
defines quality in terms of the original specification of the product. If the product
conforms to the spec, it exhibits quality.
The product view
suggests that quality can be tied to inherent characteristics (e.g., functions and
features) of a product.
Finally, the value-based view measures quality based on how much a customer
is willing to pay for a product. In reality, quality encompasses all of these views
and more.
Dealing with things sensibly and realistically in a way that is based on practical rather than theoretical considerations:
07/24/14Total Quality Management
11
Software Quality
Software quality can be defined as:
“An effective software process applied in a manner that creates
a useful product that provides measurable value for those who
produce it and those who use it “.
An effective software process establishes the infrastructure
that supports any effort at building a high quality
software product.
The management aspects of process create the checks and balances that
help avoid project chaos—a key contributor to poor quality.
Software engineering practices allow the developer to analyze the problem
and design a solid solution—both critical to building high quality software.
Finally, umbrella activities such as change management and technical
reviews have as much to do with quality as any other part of software
engineering practice
07/24/14Total Quality Management
12
Useful Product
A useful product delivers the content, functions,
and features that the end-user desires
 But as important, it delivers these assets in a
reliable, error free way.
 A useful product always satisfies those requirements
that have been explicitly stated by stakeholders.
In addition, it satisfies a set of implicit requirements
(e.g., ease of use) that are expected of all high quality
software
07/24/14Total Quality Management
13
Adding Value
By adding value for both the producer and user
of a software product, high quality software provides benefits for the
software organization and the end-user community.
The software organization gains added value because high quality software
requires less maintenance effort, fewer bug fixes, and reduced customer
support.
The user community gains added value because the application provides a
useful capability in a way that expedites some business process.
The end result is:
(1) greater software product revenue,
(2) better profitability when an application supports a business process,
and/or
(3) improved availability of information that is crucial for
the business.
Garvin’s Quality Dimensions
07/24/14Total Quality Management
14
8 Dimensions
 Performance
 Features
 Reliability
 Conformance
 Durability
 Serviceability
 Aesthetics (a set of principles, or a view often manifested by outward
appearances or style of behavior)
 Perceived quality
Attributes / Dimensions of Quality
07/24/14Total Quality Management
15
Performance - main characteristics of the
product/service
Aesthetics - appearance, feel, smell, taste
Special Features - extra characteristics
Conformance - how well product/service
conforms to customer’s expectations
Reliability - consistency of performance
Attributes / Dimensions of Quality(Cont’d)
07/24/14Total Quality Management
16
Durability - useful life of the
product/service
Perceived Quality - indirect evaluation of
quality (e.g. reputation)
Serviceability - service after sale
McCall’s Quality Factors
(the standard identifies the following attributes)
07/24/14Total Quality Management
17
The software quality factor focuses on three important aspects:
its operational characteristics, its ability to undergo change,
and its adaptability to new environment.
The document defines six broad quality characteristics as shown
McCall’s Quality Factors
07/24/14Total Quality Management
18
The ISO 9126 Quality Factors
(the standard identifies six quality attributes)
07/24/14Total Quality Management
19
The Software Quality Dilemma
07/24/14Total Quality Management
20
If you produce a software system that has terrible quality, you lose because no
one will want to buy it.
If on the other hand you spend infinite time, extremely large effort, and huge
sums of money to build the absolutely perfect piece of software, then it's going to
take so long to complete and it will be so expensive to produce that you'll be out of
business anyway.
Either you missed the market window, or you simply exhausted all your
resources.
So people in industry try to get to that magical middle ground where the product
is good enough not to be rejected right away, such as during evaluation, but also
not the object of so much perfectionism and so much
work that it would take too long or cost too much to complete.
“Good Enough” Software
07/24/14Total Quality Management
21
 Good enough software delivers high quality functions and features that end-users
desire, but at the same time it delivers other more obscure or specialized functions and
features that contain known bugs.
 Arguments against “good enough.”
 It is true that “good enough” may work in some application domains and for a
few major software companies. After all, if a company has a large marketing
budget and can convince enough people to buy version 1.0, it has succeeded in
locking them in.
 If you work for a small company be wary of this philosophy. If you deliver a
“good enough” (buggy) product, you risk permanent damage to your company’s
reputation.
 You may never get a chance to deliver version 2.0 because bad buzz may cause
your sales to plummet and your company to fold.
 If you work in certain application domains (e.g., real time embedded software,
application software that is integrated with hardware can be negligent and open
your company to expensive litigation.
Cost of Quality
07/24/14Total Quality Management
22
Prevention costs include
 quality planning
 formal technical reviews
 test equipment
 Training
Internal failure costs include
 rework
 repair
 failure mode analysis
External failure costs are
 complaint resolution
 product return and replacement
 help line support
 warranty work
07/24/14Total Quality Management 23
Cost
 The relative costs to find and repair an error or defect
increase dramatically as we go from prevention to
detection to internal failure to external failure costs.
Quality and Risk
07/24/14Total Quality Management
24
“People bet their jobs, their comforts, their safety, their
entertainment, their decisions, and their very lives on computer
software. It better be right.”
Example:
Throughout the month of November, 2000 at a hospital in Panama,
28 patients received massive overdoses of gamma rays during
treatment for a variety of cancers. In the months that followed, five
of these patients died from radiation poisoning and 15 others
developed serious complications. What caused this tragedy? A
software package, developed by a U.S. company, was modified by
hospital technicians to compute modified doses of radiation for each
patient.
Quality Assurance
07/24/14Total Quality Management
25
 Quality Assurance (QA) - “all planned and systemic activities
necessary to provide adequate confidence that a product or
service will satisfy given requirements for quality”.
 Quality assurance is oriented toward preventing defects.
 It is defined by those activities that modify the development processes
to prevent the introduction of defects.
 Quality assurance is more concerned with the processes that produce
the final product, and making sure that quality is part of each phase.
 QA is about maturing the process towards minimum defect.
 It is about balancing methodology, leadership, and technology.
 It is about taking into account human factors as well as technological
ones.
07/24/14Total Quality Management
26
Efficient– Performing
or functioning in the
best possible manner
with the least waste of
time and effort.
Effective–
Adequate to
accomplish a
purpose; producing
the intended or
expected result
07/24/14Total Quality Management
27
consistency of performance

Quality concept

  • 1.
  • 2.
    QUALITY CONCEPTS 07/24/14Total QualityManagement 2 What is it? You know quality when u see it and yet it can be an elusive thing to define, but for computer quality is something that we must define. Who does it ? Software engineers, Mangers Stakeholders Why is it important ? You can do it right, or you can do it over again What are the steps? To achieve high-quality 4 steps must occur Proven software engineering process and practice Solid project management Comprehensive quality control The presence of a quality assurance infrastructure What is the work product ? •s/w meets its customer needs •Performs accurately and reliably & •Provides value to all who use it How do I ensure that I ‘ve done it right? •Track the quality by examining the result of quality control activates •Measure quality by examining errors before delivery and defects released to the field
  • 3.
    What is quality?3 Quality popular view: – Something “good” but not quantifiable – Something luxury and classy Quality professional view: – Conformance to requirement (Crosby, 1979) The requirements are clearly stated and the product must conform to it Any deviation from the requirements is regarded as a defect  A good quality product contains fewer defects – Fitness for use (Juran, 1970): Fit to user expectations: meet user’s needs A good quality product provides better user satisfaction
  • 4.
  • 5.
    Problems with SoftwareQuality © Oscar NierstraszESE — Software Quality ESE 11.5 Software specifications are usually incomplete and often inconsistent There is tension between: customer quality requirements (efficiency, reliability, etc.) developer quality requirements (maintainability, reusability, etc.) Some quality requirements are hard to specify in an unambiguous way directly measurable qualities (e.g., errors/KLOC), indirectly measurable qualities (e.g., usability). Quality management is not just about reducing defects!
  • 6.
    07/24/14Total Quality Management 6 Exampleof quality in software engineering
  • 7.
    What is QualityManagement 7 Also called software quality assurance (SQA) Serves as an umbrella activity that is applied throughout the software process Involves doing the software development correctly versus doing it over again Reduces the amount of rework, which results in lower costs and improved time to market Encompasses •A software quality assurance process •Specific quality assurance and quality control tasks (including formal technical reviews and a multi-tiered testing strategy) •Effective software engineering practices (methods and tools) •Control of all software work products and the changes made to them •A procedure to ensure compliance with software development standards Measurement and reporting mechanisms
  • 8.
    Quality Defined8 Defined asa characteristic or attribute of something Refers to measurable characteristics that we can compare to known standards In software it involves such measures as cyclomatic complexity, cohesion, coupling, function points, and source lines of code Includes variation control A software development organization should strive to minimize the variation between the predicted and the actual values for cost, schedule, and resources They should make sure their testing program covers a known percentage of the software from one release to another One goal is to ensure that the variance in the number of bugs is also minimized from one release to another
  • 9.
    Quality Defined (continued) 9 Twokinds of quality are sought out Quality of design The characteristic that designers specify for an item This encompasses requirements, specifications, and the design of the system Quality of conformance (i.e., implementation) The degree to which the design specifications are followed during manufacturing This focuses on how well the implementation follows the design and how well the resulting system meets its requirements Quality also can be looked at in terms of user satisfaction Other 2 are: Quality control series of inspections, reviews, and tests used to ensure conformance of a work product (artifact) to its specifications Quality assurance auditing and reporting procedures used to provide management with data needed to make proactive decisions User satisfaction = compliant product + good quality + delivery within budget and schedule
  • 10.
    A Pragmatic View-Five Views of Software Quality 07/24/14Total Quality Management 10 The transcendental view argues (like Persig) that quality is something that you immediately recognize, but cannot explicitly define. The user view sees quality in terms of an end-user’s specific goals. If a product meets those goals, it exhibits quality. The manufacturer’s view defines quality in terms of the original specification of the product. If the product conforms to the spec, it exhibits quality. The product view suggests that quality can be tied to inherent characteristics (e.g., functions and features) of a product. Finally, the value-based view measures quality based on how much a customer is willing to pay for a product. In reality, quality encompasses all of these views and more. Dealing with things sensibly and realistically in a way that is based on practical rather than theoretical considerations:
  • 11.
    07/24/14Total Quality Management 11 SoftwareQuality Software quality can be defined as: “An effective software process applied in a manner that creates a useful product that provides measurable value for those who produce it and those who use it “. An effective software process establishes the infrastructure that supports any effort at building a high quality software product. The management aspects of process create the checks and balances that help avoid project chaos—a key contributor to poor quality. Software engineering practices allow the developer to analyze the problem and design a solid solution—both critical to building high quality software. Finally, umbrella activities such as change management and technical reviews have as much to do with quality as any other part of software engineering practice
  • 12.
    07/24/14Total Quality Management 12 UsefulProduct A useful product delivers the content, functions, and features that the end-user desires  But as important, it delivers these assets in a reliable, error free way.  A useful product always satisfies those requirements that have been explicitly stated by stakeholders. In addition, it satisfies a set of implicit requirements (e.g., ease of use) that are expected of all high quality software
  • 13.
    07/24/14Total Quality Management 13 AddingValue By adding value for both the producer and user of a software product, high quality software provides benefits for the software organization and the end-user community. The software organization gains added value because high quality software requires less maintenance effort, fewer bug fixes, and reduced customer support. The user community gains added value because the application provides a useful capability in a way that expedites some business process. The end result is: (1) greater software product revenue, (2) better profitability when an application supports a business process, and/or (3) improved availability of information that is crucial for the business.
  • 14.
    Garvin’s Quality Dimensions 07/24/14TotalQuality Management 14 8 Dimensions  Performance  Features  Reliability  Conformance  Durability  Serviceability  Aesthetics (a set of principles, or a view often manifested by outward appearances or style of behavior)  Perceived quality
  • 15.
    Attributes / Dimensionsof Quality 07/24/14Total Quality Management 15 Performance - main characteristics of the product/service Aesthetics - appearance, feel, smell, taste Special Features - extra characteristics Conformance - how well product/service conforms to customer’s expectations Reliability - consistency of performance
  • 16.
    Attributes / Dimensionsof Quality(Cont’d) 07/24/14Total Quality Management 16 Durability - useful life of the product/service Perceived Quality - indirect evaluation of quality (e.g. reputation) Serviceability - service after sale
  • 17.
    McCall’s Quality Factors (thestandard identifies the following attributes) 07/24/14Total Quality Management 17 The software quality factor focuses on three important aspects: its operational characteristics, its ability to undergo change, and its adaptability to new environment. The document defines six broad quality characteristics as shown
  • 18.
  • 19.
    The ISO 9126Quality Factors (the standard identifies six quality attributes) 07/24/14Total Quality Management 19
  • 20.
    The Software QualityDilemma 07/24/14Total Quality Management 20 If you produce a software system that has terrible quality, you lose because no one will want to buy it. If on the other hand you spend infinite time, extremely large effort, and huge sums of money to build the absolutely perfect piece of software, then it's going to take so long to complete and it will be so expensive to produce that you'll be out of business anyway. Either you missed the market window, or you simply exhausted all your resources. So people in industry try to get to that magical middle ground where the product is good enough not to be rejected right away, such as during evaluation, but also not the object of so much perfectionism and so much work that it would take too long or cost too much to complete.
  • 21.
    “Good Enough” Software 07/24/14TotalQuality Management 21  Good enough software delivers high quality functions and features that end-users desire, but at the same time it delivers other more obscure or specialized functions and features that contain known bugs.  Arguments against “good enough.”  It is true that “good enough” may work in some application domains and for a few major software companies. After all, if a company has a large marketing budget and can convince enough people to buy version 1.0, it has succeeded in locking them in.  If you work for a small company be wary of this philosophy. If you deliver a “good enough” (buggy) product, you risk permanent damage to your company’s reputation.  You may never get a chance to deliver version 2.0 because bad buzz may cause your sales to plummet and your company to fold.  If you work in certain application domains (e.g., real time embedded software, application software that is integrated with hardware can be negligent and open your company to expensive litigation.
  • 22.
    Cost of Quality 07/24/14TotalQuality Management 22 Prevention costs include  quality planning  formal technical reviews  test equipment  Training Internal failure costs include  rework  repair  failure mode analysis External failure costs are  complaint resolution  product return and replacement  help line support  warranty work
  • 23.
    07/24/14Total Quality Management23 Cost  The relative costs to find and repair an error or defect increase dramatically as we go from prevention to detection to internal failure to external failure costs.
  • 24.
    Quality and Risk 07/24/14TotalQuality Management 24 “People bet their jobs, their comforts, their safety, their entertainment, their decisions, and their very lives on computer software. It better be right.” Example: Throughout the month of November, 2000 at a hospital in Panama, 28 patients received massive overdoses of gamma rays during treatment for a variety of cancers. In the months that followed, five of these patients died from radiation poisoning and 15 others developed serious complications. What caused this tragedy? A software package, developed by a U.S. company, was modified by hospital technicians to compute modified doses of radiation for each patient.
  • 25.
    Quality Assurance 07/24/14Total QualityManagement 25  Quality Assurance (QA) - “all planned and systemic activities necessary to provide adequate confidence that a product or service will satisfy given requirements for quality”.  Quality assurance is oriented toward preventing defects.  It is defined by those activities that modify the development processes to prevent the introduction of defects.  Quality assurance is more concerned with the processes that produce the final product, and making sure that quality is part of each phase.  QA is about maturing the process towards minimum defect.  It is about balancing methodology, leadership, and technology.  It is about taking into account human factors as well as technological ones.
  • 26.
    07/24/14Total Quality Management 26 Efficient–Performing or functioning in the best possible manner with the least waste of time and effort. Effective– Adequate to accomplish a purpose; producing the intended or expected result
  • 27.