Nothing Special   »   [go: up one dir, main page]

Software Quality

Download as pdf or txt
Download as pdf or txt
You are on page 1of 24

Software Quality

Software Quality
• David Garvin [Gar84] suggests that “quality is a complex and multifaceted concept” that can be
described from five different points of view
• 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
• the value-based view measures quality based on how much a customer is willing to pay for a
product.
• In software development, quality of design encompasses the degree to which the
design meets the functions and features specified in the requirements model.
• Quality of conformance focuses on the degree to which the implementation
follows the design and the resulting system meets its requirements and
performance goals.
• But are quality of design and quality of conformance the only issues
that software engineers must consider? Robert Glass [Gla98] argues
that a more “intuitive” relationship is in order:

user satisfaction + compliant product + good quality +delivery within


budget and schedule

• DeMarco [DeM98] reinforces this view when he states: “A product’s


quality is a function of how much it changes the world for the better.”
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”
General characteristics of Quality Software
• Portability: A software device is said to be portable, if it can be freely made to work in various
operating system environments, in multiple machines, with other software products, etc.
• Usability: A software product has better usability if various categories of users can easily invoke
the functions of the product.
• Reusability: A software product has excellent reusability if different modules of the product can
quickly be reused to develop new products.
• Correctness: A software product is correct if various requirements as specified in the SRS
document have been correctly implemented.
• Maintainability: A software product is maintainable if bugs can be easily corrected as and when
they show up, new tasks can be easily added to the product, and the functionalities of the product
can be easily modified, etc.
ISO 9000 Certification

• ISO (International Standards Organization) is a group or consortium of


63 countries established to plan and fosters standardization. ISO
declared its 9000 series of standards in 1987. It serves as a reference
for the contract between independent parties. The ISO 9000 standard
determines the guidelines for maintaining a quality system. The ISO
standard mainly addresses operational methods and organizational
methods such as responsibilities, reporting, etc. ISO 9000 defines a set
of guidelines for the production process and is not directly concerned
about the product itself.
Types of ISO 9000 Quality Standards
• The ISO 9000 series of standards is based on the assumption that if a proper stage
is followed for production, then good quality products are bound to follow
automatically. The types of industries to which the various ISO standards apply
are as follows.
1.ISO 9001: This standard applies to the organizations engaged in design,
development, production, and servicing of goods. This is the standard that applies
to most software development organizations.
2.ISO 9002: This standard applies to those organizations which do not design
products but are only involved in the production. Examples of these category
industries contain steel and car manufacturing industries that buy the product and
plants designs from external sources and are engaged in only manufacturing those
products. Therefore, ISO 9002 does not apply to software development
organizations.
3.ISO 9003: This standard applies to organizations that are involved only in the
installation and testing of the products. For example, Gas companies.
ISO 9000 Certification
1.Application: Once an organization decided to go for ISO certification, it applies
to the registrar for registration.
2.Pre-Assessment: During this stage, the registrar makes a rough assessment of the
organization.
3.Document review and Adequacy of Audit: During this stage, the registrar
reviews the document submitted by the organization and suggest an improvement.
4.Compliance Audit: During this stage, the registrar checks whether the
organization has compiled the suggestion made by it during the review or not.
5.Registration: The Registrar awards the ISO certification after the successful
completion of all the phases.
6.Continued Inspection: The registrar continued to monitor the organization time
by time.
People Capability Maturity Model (PCMM)
• PCMM is a maturity structure that focuses on continuously improving
the management and development of the human assets of an
organization
• It defines an evolutionary improvement path from Adhoc,
inconsistently performed practices, to a mature, disciplined, and
continuously improving the development of the knowledge, skills,
and motivation of the workforce that enhances strategic business
performance.
• The People Capability Maturity Model (PCMM) is a framework that
helps the organization successfully address their critical people issues.
Based on the best current study in fields such as human resources,
knowledge management, and organizational development, the
PCMM guides organizations in improving their steps for managing and
developing their workforces.
Initial Level: Maturity Level 1
• The Initial Level of maturity includes no process areas. Although workforce practices
implement in Maturity Level, 1 organization tend to be inconsistent or ritualistic, virtually all of
these organizations perform processes that are defined in the Maturity Level 2 process areas.
Managed Level: Maturity Level 2
• To achieve the Managed Level, Maturity Level 2, managers starts to perform necessary people
management practices such as staffing, operating performance, and adjusting compensation as a
repeatable management discipline. The organization establishes a culture focused at the unit
level for ensuring that person can meet their work commitments. In achieving Maturity Level 2,
the organization develops the capability to handle skills and performance at the unit level. The
process areas at Maturity Level 2 are Staffing, Communication and Coordination, Work
Environment, Performance Management, Training and Development, and Compensation.
• Defined Level: Maturity Level 3
• The fundamental objective of the defined level is to help an organization gain a competitive
benefit from developing the different competencies that must be combined in its workforce
to accomplish its business activities. These workforce competencies represent critical pillars
supporting the strategic workforce competencies to current and future business objectives;
the improved workforce practices for implemented at Maturity Level 3 become crucial
enablers of business strategy.
• Predictable Level: Maturity Level l 4
• At the Predictable Level, the organization handles and exploits the capability developed by its
framework of workforce competencies. The organization is now able to handle its capacity
and performance quantitatively. The organization can predict its capability for performing
work because it can quantify the ability of its workforce and of the competency-based
methods they use performing in their assignments.
Optimizing Level: Maturity Level 5
• At the Optimizing Level, the integrated organization is focused on
continual improvement. These improvements are made to the efficiency
of individuals and workgroups, to the act of competency-based
processes, and workforce practices and activities.
Six Sigma
• Six Sigma is the process of improving the quality of the output by
identifying and eliminating the cause of defects and reduce variability
in manufacturing and business processes. The maturity of a
manufacturing process can be defined by a sigma rating indicating its
percentage of defect-free products it creates.
• A six sigma method is one in which 99.99966% of all the
opportunities to produce some features of a component are statistically
expected to be free of defects (3.4 defective features per million
opportunities
• Six-Sigma is a set of methods and tools for process improvement. It was
introduced by Engineer Sir Bill Smith while working at Motorola in 1986.
1.Statistical Quality Control: Six Sigma is derived from the Greek Letter σ (Sigma)
from the Greek alphabet, which is used to denote Standard Deviation in statistics.
Standard Deviation is used to measure variance, which is an essential tool for
measuring non-conformance as far as the quality of output is concerned.
2.Methodical Approach: The Six Sigma is not a merely quality improvement
strategy in theory, as it features a well defined systematic approach of application in
DMAIC and DMADV which can be used to improve the quality of production.
DMAIC is an acronym for Design-Measure- Analyze-Improve-Control. The
alternative method DMADV stands for Design-Measure- Analyze-Design-Verify.
3.Fact and Data-Based Approach: The statistical and methodical aspect of Six
Sigma shows the scientific basis of the technique. This accentuates essential
elements of the Six Sigma that is a fact and data-based.
4. Project and Objective-Based Focus: The Six Sigma process is implemented for an
organization's project tailored to its specification and requirements. The process is
flexed to suits the requirements and conditions in which the projects are operating to
get the best results.
5. Customer Focus: The customer focus is fundamental to the Six Sigma approach.
The quality improvement and control standards are based on specific customer
requirements.
6. Teamwork Approach to Quality Management: The Six Sigma process requires
organizations to get organized when it comes to controlling and improving quality. Six
Sigma involving a lot of training depending on the role of an individual in the Quality
Management team.
Six Sigma projects follow two project methodologies:
1.DMAIC
2.DMADV
DMAIC
• It specifies a data-driven quality strategy for improving processes. This methodology is used to enhance an existing
business process.
• The DMAIC project methodology has five phases:
1. Define: It covers the process mapping and flow-charting, project charter development, problem-solving tools, and so-
called 7-M tools.
2. Measure: It includes the principles of measurement, continuous and discrete data, and scales of measurement, an
overview of the principle of variations and repeatability and reproducibility (RR) studies for continuous and discrete data.
3. Analyze: It covers establishing a process baseline, how to determine process improvement goals, knowledge discovery,
including descriptive and exploratory data analysis and data mining tools, the basic principle of Statistical Process Control
(SPC), specialized control charts, process capability analysis, correlation and regression analysis, analysis of categorical
data, and non-parametric statistical methods.
4. Improve: It covers project management, risk assessment, process simulation, and design of experiments (DOE), robust
design concepts, and process optimization.
5. Control: It covers process control planning, using SPC for operational control and PRE-Control.
DMADV
• It specifies a data-driven quality strategy for designing products and processes.
This method is used to create new product designs or process designs in such a
way that it results in a more predictable, mature, and detect free performance.
• The DMADV project methodology has five phases:
1.Define: It defines the problem or project goal that needs to be addressed.
2.Measure: It measures and determines the customer's needs and specifications.
3.Analyze: It analyzes the process to meet customer needs.
4.Design: It can design a process that will meet customer needs.
5.Verify: It can verify the design performance and ability to meet customer needs.

You might also like