Professional Documents
Culture Documents
CQA Doc No 1
Quality Principles Plan-Do-Check-Act
Definitions of Quality Six Sigma
Quality Concepts Benchmarking
Quality Objectives Continuous Improvement
Quality Attributes Best Practices
QA v/s QC Software Quality Concepts
Quality Pioneers Quality is conformance to product
requirements and should be free.
Quality Vocabulary
Quality is achieved through prevention
Definitions of Quality
of defects .
Quality Software and Software Quality
Quality control is aimed at finding
Software that exhibits all the functional problems as early as possible and
capabilities and non-functional fixing them.
attributes that ensure that it can be put
Doing things right the first time is the
to all its intended uses with the least
performance standard which results in
effort, inconvenience and resource cost
zero defects and saves the expenses of
to the user is Quality Software
doing things over.
Software Product Evaluation lists six
The expense of quality is
key factors in producing Quality
nonconformance to product
Software
requirements
♦ functionality
Software Quality Concepts
♦ reliability
Quality is what distinguishes a good
♦ usability
company from a great one.
♦ efficiency
Quality is meeting or exceeding our
♦ maintainability
customer's needs and requirements.
♦ portability
Software Quality is measurable.
Definitions of Software Quality
Quality is continuous improvement.
"Quality is Conformance to
requirements" - CROSBY The quality of a software product
comes from the quality of the process
"Software Quality means fitness for
used to create it.
purpose" - OULD
Cost of Quality
Quality is all the features that allow a
product to satisfy stated or implied Quality costs are the costs associated
needs at an affordable cost - ISO-8402 with preventing, finding and correcting
defective work
Definitions of Software Quality
One of the key functions of a quality
GARVIN gives five views of Quality
engineer is the reduction of the total
♦transcendent cost of quality associated with a
♦ product-based product
♦ user-based Prevention Costs
♦ manufacturing-based These are costs of activities specifically
♦ value-based designed to prevent poor
Conclusions quality(coding errors, design errors,
It is generally accepted that quality of bad documentation, unmaintainable
the process plays a crucial role in coding)
determining the quality of the product E.g., Staff Training, Requirement
Quality must be built into software from Analysis, Fault-tolerant design,
the outset - it cannot be added on later defensive programming, usability
analysis, clear specification, accurate
It is people that determine whether or internal documentation, evaluation of
not a quality product is produced the reliability of development tools
Quality Concepts Appraisal Costs
Cost Of Quality
10718219.doc
Page 1 of 13
Syntel CQA Forum Quality Principles in Nutshell Part I
CQA Doc No 1
These are Costs of activities designed Map the Process
to find quality problems, such as code Validate the map of the process
inspections and any type of testing
Identify potential cause of the problem
E.g., Design Review, Code Inspection,
White box testing, Black box testing, Collect and analyze data related to the
training testers, Beta testing, test problem
automation, usability testing Verify or revise the original problem
Failure Costs statement
Costs that result from poor quality, Identify root causes of the problem
such as the cost of fixing bugs and cost Collect additional data if needed to
of dealing with customer complaints verify root causes
Internal failure costs are failure costs Step 3 Do - Develop Solutions
that arises before your company Establish criteria for selecting a
supplies the product to customer solution
External failure costs are failure costs Generate potential solutions that will
that arises after your company supplies address the root causes of the problem
the product to customer
Select a solution
Internal failure Costs
Gain approval and supporter for the
Bug fixes, Regression testing chosen solution
Wasted in-house user time Plan the solution
Wasted tester time, Wasted writer time Step 4 Do - Implement Solutions
Wasted marketer time Implement the chosen solution on a
Wasted advertisements trial or pilot basis
Direct cost of late shipment If the Problem Solving Process is being
Opportunity cost of late shipment used in conjunction with the
Continuous Improvement Process,
External failure costs return to Step 6 of the Continuous
Technical support calls, Investigation of Improvement Process
customer complaints, refunds and If the Problem Solving Process is being
recalls, coding/testing of interim bug fix used as a standalone, continue to Step
releases, shipping of updated product, 5
added expense of supporting multiple
versions of the product, lost sales, lost Step 5 Check - Evaluate the Results
customer goodwill, warranty costs, Gather data on the solution
liability costs, penalties. Analyze the data on the solution
Total Cost of Quality = Sum of all costs Achieved the Desired Goal?
Prevention + Appraisal + Internal If YES, go to Step 6.
failure + External failure
If NO, go back to Step 1.
Plan-Do-Check-Act
Step 6 Act - Standardize the solution
Step 1 Plan - Identify the Problem
Identify systematic changes and
Select the problem to be analyzed training needs for full implementation
Clearly define the problem and Adopt the solution
establish a precise problem statement
Plan ongoing monitoring of the solution
Set a measurable goal for the problem
solving effort Continue to look for incremental
improvements to refine the solution
Establish a process for coordinating
with and gaining approval of leadership Look for another improvement
opportunity
Step 2 Plan - Analyze the Problem
Six Sigma
Identify the processes that impact the
problem and select one The word 'Sigma' is a statistical term
that measures how far a given process
List the steps in the process as it deviates from perfection.
currently exists
10718219.doc
Page 2 of 13
Syntel CQA Forum Quality Principles in Nutshell Part I
CQA Doc No 1
The significance of Six Sigma is that if Reducing common-cause variation so
you can measure how many defects that the distribution has a very small
you have in a process, you can standard deviation
systematically figure out how to
eliminate them and get as close to
'zero defects' as possible. Stable operations
Key Concepts of Six Sigma Operational Excellence methodology
for identifying the right projects, using
Critical to Quality: Attributes most the right people to lead projects, right
important to the customer tools and roadmap
Defect: Failing to deliver what the Turning quality into a management
customer wants system
Process Capability: What your process Improving cycle time to process
can deliver applications for long term disability
Variation: What the customer sees and benefits
feels Design
Stable operations: Ensuring consistent, Follow a four phase process to achieve
predictable processes to improve what design. Identify, Design, Optimize and
the customer sees and feels Validate
Design: Designing to meet customer Design helps eliminate designed-in
needs and process capability quality problems that account for 70-
Critical to Quality 80% of defects
Understanding Customer's needs and Link Six Sigma with QS 9000
expectations by employing six Benchmarking
approaches to communicating with
customer The continuous process of measuring
products, services, and practices
Measure business performance against against the toughest competitors and
dynamic customer requirements and industry leaders
respond to changing market place
conditions The search for industry best practices
that lead to superior performance
Quality function deployment (QFD) and
failure modes and effects analysis It is not a mechanism for determining
(FMEA) can help identify critical to resource reductions
quality characteristics. Elements of Benchmarking
Defect A structured process/approach
Reducing the defect rate Continuous/ongoing
Determining the defect cost Involves measuring, evaluating, and
Mistake Proofing techniques eliminate comparing results (and the process of
the sources of errors and ensure that a benchmarking)
process is free of defects. Focus on best practices/results
Process Capability Goal is to improve to level of best
Understanding Process Capability Fundamentals of Benchmarking
principles and calculating Process Focus on key services/processes
Capability are integral to staying
competitive and meeting customer Learn from others
requirements. Apply what has been learned
Variation
Two sources of variation : Common Types of Benchmarking
cause and special cause Internal - best within organization
Multi-Vari Analysis offers a means of Competitive - best within competition
reducing large numbers of unrelated
causes of variation to a family of Functional - best within industry
related causes. Collaborative - best within voluntary
network
10718219.doc
Page 3 of 13
Syntel CQA Forum Quality Principles in Nutshell Part I
CQA Doc No 1
10 Step Benchmarking Process Continuous improvement is a TQM
Planning concept which involves examining
processes to proactively determine
♦ Identify benchmarking subject & improvement opportunities apart from
team problem solving.
♦ Identify & select benchmarking
Both problems and opportunities can
partners
be addressed using the same
♦ Identify data collection techniques methodology (Continuous
Analysis Improvement)
♦ Determine current performance gap Steps in continuous improvement
♦ Project future performance levels Describe the issue
Integration
Identify the cause
♦ Communicate findings & gain
Resolve the issue
acceptance
♦ Establish functional improvement Follow up
goals Describe the issue
Action Identify improvement opportunities
♦ Develop action plan from sources such as trouble reports,
♦ Implement plans & monitor progress customer complaints and employee
ideas.
♦ Recalibrate & reset benchmark
performance levels Utilize information gathered through
out software development life cycle
Benchmarking Made easy
such as defect analysis, post project
Observe reviews or reviewing project attribute
♦ Who’s best? How do you know? data
Identify practices. Once an issue has been identified,
Understand describe it fully and quantify the
♦ Are others better? Why? How much consequences of making changes.
better? What can be adopted? Consequences can be the cost of not
Act fixing a problem or the cost of savings
resulting from the improvement.
Commit to findings. Set goals.
♦
Communicate new direction. Take These consequences are due to
action to change. Recalibrate reduced rework or increased quality
Common Pitfalls and productivity
10718219.doc
Page 6 of 13
Syntel CQA Forum Quality Principles in Nutshell Part I
CQA Doc No 1
Set quantitative reliability objectives Prepare for testing (includes preparing
that balance customer needs for test cases, test procedures and any
reliability, timely delivery, and cost autmated tools decided to use)
Characterize quantitatively how users Execute tests(conducting testing and
will employ your product then identifying failures, determining
Track reliability during test when they occurred, and establishing
the severity of their impact)
Maximize the efficiency of development
and test by focusing resources on the Interpret failure data in development
operations that are most used and/or testing and certification testing.
most critical, by realistically (applying failure data to guide
reproducing field conditions, and by decisions)
delivering just enough reliability Maintainability
The advantages of SRE Qualitative Definition
is unique in helping testers ensure ♦ the characteristics of material
necessary reliability in minimum design and installation which make it
delivery time and cost possible to meet operational
increases tester productivity and objectives with a minimum
reduces time to market of a product expenditure of maintenance effort
under operational environmental
improves customer satisfaction and conditions in which scheduled and
reduces the risk of angry customers unscheduled maintenance will be
Applying SRET performed
SRET should be applied over the entire Quantitative Definition
software life cycle, including all ♦ maintainability is a characteristic of
releases with particular focus on design and installation which is
testing expressed as the probability that an
Apply to feature, load, performance, item will be restored to specified
regression, certification or acceptance conditions within a given period of
testing time when maintenance action is
Determine which associated system performed in accordance with
requires separate testing prescribed procedures and resources
10718219.doc
Page 8 of 13
Syntel CQA Forum Quality Principles in Nutshell Part I
CQA Doc No 1
prototyped for evaluation by friendly design (based upon
comparative testing. touchscreen terminals) was
Iterative design produced in less than two months.
♦ The difficulties revealed in user tests User Acceptance Testing
must be remedied by redesign, so ♦ There are well estd methods for
the cycle design, test and measure, testing systems in terms of user
redesign must be repeated as often performance and people’s attitudes
as is necessary until the usability crucial to acceptance in the work
specification is satisfied. place.
User Supportive design ♦ A telecommunications company,
♦ Careful attention to user support developed a desktop videophone.
facilities such as documentation, They wanted to ensure that it could
help screens can significantly assist be used by senior, non-technical,
usability staff. Acceptance testing with
typical users confirmed that the
Design for all videophone’s simple and elegant
♦ By taking account of the needs of user interface would be well
the people with say, impaired accepted.
hearing, vision, speech and motor Introduction of new technologies
skills, the future product will be
more useful to a wider range of ♦ Advise on how to introduce systems
people, and be more successful as a into the workplace so that users
result. learn and cope with the changes as
easily as possible, without the need
Usability activities for expensive re-training courses
User requirement specification and minimising disruption to the
♦ analysing the user population and business.
the tasks they perform in a given ♦ Creating a usable system will also
working environment will help in involve considering how it will fit into
producing a more precise user the customer's organisation and be
requirement specification widely acceptable to its employees.
♦ Studies have found that a major This requires user involvement
cause of IT system failure is that throughout the design process.
user requirements are not identified Usability Questions
properly, so the software was not What is user-centered design
matched to them.
♦ It means that the design is based on
Design guidelines and standards the needs and requirements of the
♦ Use and advise design guidelines users of the future system.
and ergonomic standards relevant to How can user centred design be
IT applications achieved?
♦ The user interface may follow the ♦ Firstly by studying the users, their
latest styles guides, and it'll look tasks and the environment in which
great. But unless the system helps the system will be located. Secondly
the user carry out what they want to the system should be developed
do effectively and efficiently, this iteratively, so that it gradualy meets
glossy front may restrict rather than user requirements.
help them.
How do you know when a usable
Prototyping design has been achieved?
♦ Use the methods for making and ♦ As part of user requirements, a set
evaluating prototypes, to validate of of usability goals should be
the functions of the system and to defined in specific terms. Thus
develop the user interface. usability testing can show to what
♦ An International rent-a-car company extent the goals have been
wanted to provide a 24-hour service achieved.
via stand alone terminals in airport What would be an example of such a
lounges. By using prototyping goal ?
techniques, an efficient and user-
10718219.doc
Page 9 of 13
Syntel CQA Forum Quality Principles in Nutshell Part I
CQA Doc No 1
♦ For example, for a new telephone ♦ 1993, Ergonomic requirements for
system, a usability goal might be: "It office work with visual display
should be possible for 95% of users terminals (VDTs)
to make a call successfully within 30 ♦ 1993, Guidance on task
seconds, making no errors". requirements
How do you identify such goals ? ♦ Guidance on usability(how to
♦ By studying the user performing identify the information which it is
tasks, and identifying the required necessary to take into account when
performance levels for those tasks. specifying or evaluating usability in
How do you define usability ? terms of measures of user
performance and satisfaction)
♦ It is the effectiveness, efficiency and
satisfaction with which a product can ♦ 1994, Ergonomic principles related
be used by a given set of users to mental work-load
performing a given set of tasks in a ♦ Evaluation of Software Products(the
given environment. extent to which an entity satisfies
Why is it such a long definition ? stated and implied needs when used
under stated conditions)
♦ This is because it recognises that
usability is not a unique property. It Product oriented standards
depends on the particular ♦ Visual display requirements
circumstances in which the system ♦ Keyboard requirements
will be used i.e. its 'context of use' ♦ Workstation layout and postural
How do go about measuring usability? requirements
♦ By studying the context of use of the ♦ Environmental requirements
intended product or system. From ♦ Display requirements with
this study, a sample of typical users reflections
and tasks will emerge. based on the ♦ Requirements for displayed colours
tasks, a set of usability goals (or test ♦ Requirements for non-keyboard
criteria) can be defined. A set of input devices
tests can then be run with a sample
♦ Dialogue(b/w human & information
of users to see if when they perform
systems)principles
the defined tasks, the criteria levels
are achieved. ♦ Presentation of information of visual
displays
How many users do you need ?
♦ User guidance for user interfaces
♦ From experience, about 10 users are ♦ User-computer Menu dialogues
employed from each major user
♦ Command language user-computer
group e.g. 10 novices and 10
dialogues
experts. In this way the results from
different user groups can be ♦ Direct Manipulation dialogues
compared. ♦ Form filling dialogues
♦ Dialogue interaction - cursor control
for text editing
Usability Standards
♦ Framework for icon symbols and
Standards related to human-centred functions
design Usability Evaluation Methods
♦ process-oriented: these specify Testing Approach
procedures and processes to be
followed. ♦ Here the representative users work
on typical tasks using the system
♦ product-oriented: these specify and evaluators use the results to see
required attributes of the user how the user interface supports the
interface. user to do their tasks
Process oriented standards Inspection Approach
♦ 1981, Ergonomic principles in the ♦ Here usability specialists and
design of work systems sometimes software developers,
♦ 1997, Human-centred design users and other professionals,
processes for interactive systems
10718219.doc
Page 10 of 13
Syntel CQA Forum Quality Principles in Nutshell Part I
CQA Doc No 1
examine usability-related aspects of ♦ Portable software is easire to
a user interface maintain for multiple environments
Inquiry approach Vendors
♦ Here usability evaluators obtain ♦ Portable software is easier to
information about users' likes, support
dislikes, needs, and understanding ♦ Users will repurchase the same
of the system by talking to them, product for new environments
observing them using the system in Managers
real work or letting them answer
♦Portable software reduces
questions verbally or in written form
maintenance costs
Portability - Definition ♦ Portability reduces headaches during
Portability is an attribute which may be product enhancement
possessed by a software unit to a What can we port ?
specific degree with respect to a
Programs , Components, Systems
specific class of environments.
Data
Portability may also be an attribute of
auxiliary elements such as data, Libraries
documentation, and human Tools
experience.
System Software
A software unit is portable (exhibits
Documentation
portability) across a class of
environments to the degree that the Experience
cost to transport and adapt it to a new Levels of Porting
environment in the class is less than
the cost of redevelopment. Source
♦ Programming language or higher-
Portability - Key Concepts
level form. Adaptation is feasible.
Software Units Binary
Environments ♦ Executable form. Most convenient,
Classes of Environments but adaptation is difficult.
Degree of Portability Intermediate
Costs and benefits ♦ May allow limited adaptation without
exposing source.
Phases of Porting : Transportation &
Adaptation Typical Activities
Porting vs Redevelopment Adapting existing programs to new
environments
Why Should we port ?
Designing programs to be portable
Many Hardware and Software Platforms
Improving portability of existing
We want familiar software in different programs
environments
System support for portability
We want easier migration to new
system versions and to totally new Goals & Tasks
environments Application Installers
We want more new development, less ♦ Goal: To port applications to specific
redevelopment, and lower software new environments.
costs ♦ Tasks: Analyze environment; adapt
Who should care for Portability and compile (perhaps); configure
and install.
Users
♦ Resources: Source (perhaps) or
♦ Portable software should be cheaper executable files; application
♦ Portable software should work the documentation; system
same in various environments documentation.
Developers Application designers
♦ Portable software costs less to
develop for multiple environments
10718219.doc
Page 11 of 13
Syntel CQA Forum Quality Principles in Nutshell Part I
CQA Doc No 1
♦ Goal: To design applications which Study the symptoms of defects and
can be easily ported among different failures
environments. Develop a theory on the causes of
♦ Tasks: Define environment classes; symptoms
develop portable design; document
Test the theory until the cause is known
for portability.
♦ Resources: Requirements Stimulate the remedial action by
specification; language specification appropriate action
and other relevant standards. Juran - Classification of defects
System Implementors Worker Controllable and Management
♦Goal: To provide mechanisms for controllable
specific environments which Worker Responsibility
facilitate porting.
♦ worker knows what to do
♦ Tasks: Identify relevant services and
♦ worker knows result of own work
resources; support standards;
document for porting. ♦ worker has means of controlling
result
♦ Resources: System documentation;
relevant standards. Management Responsibility
Three Related Concepts ♦ Sequence of events for improving
quality and reducing quality costs
Portability
♦ Universal feedback loop for control
♦ Ability to use the same program (or
♦ Fundamental is data collection and
component) in multiple
analysis
environments
Reusability
♦ Ability to use the same software
component in multiple programs Deming - 14 Principles
Interoperability Create constancy of purpose towards
♦ Ability of different programs to "work improvement of product and service
together," especially by exchanging Adopt the new philosophy
data Cease dependence on inspection to
Portability Myths achieve quality - build quality in, in the
It is claimed that portability has been first place
solved by End the practice of awarding business
♦ standard languages (e.g., FORTRAN, on the basis of price tag - get single
COBOL, Ada, C, C++, Java) supplier for any one item. Instead
♦ universal operating systems (e.g., minimize total cost
Unix, MS-DOS, Windows, JavaOS) Improve constantly and forever the
♦ universal platforms (e.g., IBM-PC, system of production and service to
SPARC, JavaVM) improve quality and productivity - this
♦ open systems and POSIX constantly decreases costs
♦ OOP and distributed object models Institute training on the job
(e.g., OLE, CORBA) Institute leadership. The aim of
♦ Software patterns, architectures, supervision is to help people to do a
and UML better job
♦ The World Wide Web Drive out fear, so everyone may work
Quality Pioneers effectively for the company
JURAN - Strategy for achieving Quality Break down the barriers between
structured annual improvements in departments - work in teams
quality Eliminate slogans, and targets for the
a massive quality-oriented training workforce asking for zero-defects and
programme new levels of productivity. They create
adversarial relationships. The bulk of
upper management must lead the causes of low quality and low
company's approach to product quality productivity belong to the system
JURAN -Achieving Quality Improvement
10718219.doc
Page 12 of 13
Syntel CQA Forum Quality Principles in Nutshell Part I
CQA Doc No 1
Eliminate work standards and ♦ it costs a lot more to produce quality
management by objectives - substitute software
leadership ♦ people make mistakes - it is
Remove barriers that rob inevitable there will be errors in
workers/managers of the right to pride large systems
of workmanship - abolish annual merit There is an underlying assumption that
rating the three goals of quality, cost,
Institute a vigorous program of schedule are conflicting and mutually
education and self improvement exclusive. In contrast, Deming claims
that the only way to increase
Put everybody in the company to work productivity and lower cost is to
to accomplish the transformation - the increase quality
transformation is everybody's job
Deming - Contribution to QC
“The economic and social revolution
which took hold in Japan, upset in 15
years the economy of the world and
shows what can be accomplished by
serious study and adoption of
statistical methods and statistical logic
in industry at all levels from the top
downwards”
The analysis of errors for either type or
cause will help control errors - this is
particularly important for software.
The results enable improvement of the
process so that less errors are
produced.
You cannot inspect quality into a
product - you must build in quality right
from the outset.
CROSBY
Crosby suggests there are five
maturing stages through which quality
management evolves.
♦ uncertainty
♦ awakening
♦ enlightenment
♦ wisdom
♦ certainty
Crosby used a Quality Management
Maturity Grid to define his approach.
The advantage in this is it defines a
quality improvement path for an
organization as well as a means for
assessing where at any time the
organization is on the path to quality
Crosby’s defintion of Software Quality
"conformance to requirements”
Misconceptions about software quality
♦ quality means goodness, cannot be
defined or measured
♦ people do not produce quality
because they don't care
10718219.doc
Page 13 of 13