Professional Documents
Culture Documents
Unit - 6 Software Quality Management
Unit - 6 Software Quality Management
Software Quality Management is a process that ensures the required level of software quality is
achieved when it reaches the users, so that they are satisfied by its performance. The process
involves quality assurance, quality planning, and quality control.
Software Quality Management ensures that the required level of quality is achieved by submitting
improvements to the product development process. It aims to develop a culture within the team
and it is seen as everyone's responsibility.
Software Quality management should be independent of project management to ensure
independence of cost and schedule adherences. It directly affects the process quality and indirectly
affects the product quality.
Software quality management activities are generally divided up into three core components:
quality assurance, quality planning, and quality control.
Quality Assurance
Quality Planning
Before software development begins, quality planning must take place. During quality planning,
testers create goals and objectives for your software, as well as a strategic plan that will help you
to successfully meet those objectives. Quality planning is considered the most important aspect
of SQM, as it develops a strong blueprint for the rest of the process to follow.
Quality planning defining the quality attributes associated with the output of the project. How
those attributes assessed? Characteristics such as "robustness," "accessibility," and "modularity"
attached to the software development project. The quality plan may also address the intended
market, critical release dates, quality goals, expected risks, and risk management policy.
Quality Control
The quality control team test and review software to ensure quality assurance processes and
standards at both the organizational and project level. In software development firms implement
the agile quality approach, a switch to agile methods from a more formal quality management
structure create problems if control procedures aren't appropriately adapted.
Activities include -
A follow-up review of software to ensure any required changes detailed in the previous testing
addressed.
Release testing of software with proper documentation of the testing process
Apply software measurement and metrics for assessment.
Examine software and associated documentation for non-conformance with standards.
For a successful business that develops software, software quality must be the requirement-
cannot be an exception. Consider the ways it can impact business.
Predictability
Software quality drives predictability. Predictability decreases as re-work grows, and lower
quality product increases. Do it once and right, and there will be less variation in productivity,
less re-work, and better performance overall. Products get delivered on time. Poor quality is
hugely more difficult to manage.
Reputation
A significant, solid reputation is hard to establish and easy to lose, but when the company has it,
it’s a powerful business driver. A few mistakes and fame can be gone, creating significant
obstacles to sales, and consequently, your bottom line.
Employee Morale
The happiest and productive employees have pride in the work. Enabling employees to build
software will drive a higher level of productivity and morale. Inferior products, lots of re-work,
unhappy customers and difficulty making deadlines have the opposite effect, leading to a less
productive workforce and high turnover.
Customer Satisfaction
A quality product satisfies the customer. A satisfied customer comes back for provides positive
referrals. Customer loyalty heavily drives by the quality of the software produced and the service
offer. With social media channels such as Facebook and Twitter, positive references can spread
quickly. Poor quality and dissatisfaction can also rapidly communicate, if not even quicker than
the good ones.
Bottom Line
Predictable and productive performance, happy employees, a stellar reputation, and satisfied
customers are the formula for a successful software business. It all drives the bottom line.
Quality impact various areas of software development projects.
It’s essential to lower the cost of testing and improve the quality of software. These four points
will help to enhance the quality of software and improve testing efficiency.
By testing earlier, will be able to detect and solve defects rather than having to resolve them at
the end of the process. The software bugs identified, the longer and more expensive they are to
fix. Involved testers during the requirements and design so they can help formulate a more useful
framework. More than 70 percent of issues in a live environment traced back to poor conditions.
Improve testing organization
Implement specific policies to direct a consistent approach like using repeatable industry
standard testing processes and training testers within this framework.
Do not get stuck in the same old routine – embrace new approaches.
Keep reviewing
Just because specific methods have worked in the past doesn’t mean they always will. Processes
of evaluation and refactoring allow the testing team to maximize efficiency by reviewing what
worked well. Implement a Cause analysis process which distinguishes whether issues were a
‘testing miss,’ a ‘development miss’ or a ‘requirements or design miss.’ Identify areas for
improvement throughout the whole software development process.
An initial step to prevent future programming errors. Plan for the development approach, high-
quality design and code need the involvement of the QA team. To avoid the failure of the quality
of the end product, the input and output of the QA process need to be well defined, planned and
documented as well.
Nowadays, we are adopting an agile development approach for faster quality application
releases. Hence, it becomes highly essential for the QA teams to ensure the development efforts
not dumped. The principle of “Test Early Test Often” will help the QA teams to find the bugs
early and often to confirm continuous delivery.
Merge QA & Development Efforts with DevOps
It is highly recommended to merge operations, development, and testing processes with DevOps,
to ensure continuous improvement in the end application.
It is a process of performing testing continuously on each (even minor) to check whether each
build is successful. If not, we can quickly identify them on time and make necessary changes and
again take them into the testing process. A process which each QA teams across the globe need
to adopt for continuous delivery of the end product. Continuous testing can be automated.
It is better to utilize ready-made testing frameworks. It helps the QA teams with appropriately
managing end-to-end testing cycles and ensuring continuous integrations and deliveries.
New and updated tools continue to proliferate across the software quality spectrum with
expanding options in Testing Automation, Performance Testing, Mobile testing, Niche testing,
bug tracking and more. Here are some favorite software quality tools -
Total quality management gives an umbrella below which everyone in the company can
endeavor and build customer happiness. It consists of three qualities, quality of return to satisfy
the needs of shareholders, quality of products and services to satisfy some specific needs of
customers, and quality of life at work and outside job to meet the requirements of the employees
in the company.
Ricky W. Griffin – A strategy commitment by top management to change its whole approach to
business to make quality a guiding factor in everything it does.
Robbins and Coulter – Total quality management is a philosophy of management that is driven
by customer’s needs and expectations and focuses on continual improvement in the work
process.
TQM ensures that things are done right the first time, and defects and waste are eliminated from
operations. A business that adopts TQM must realize changes in all spheres of administration. It
requires reviewing its strategies, plans, policies, and practices as per the necessities of the
market.
TQM has four objectives:
Customer First: In total quality management customers are the focus point. For the
satisfaction of them, the quality of products and service is implemented.
Continuous Improvement: TQM ensures until unless the organization runs its activities,
all the activities should be reviewed continuously from time to time.
Participative Management: Employees should participate in the decision-making and
planning process. This makes feel them valuable at work.
Fact-Based Decision Making: TQM ensures real data rather than guesswork.
Effective Communication: Two-way communication system ensures effectiveness in
communication.
Integrated System: All the activities of the organization should be integrated to achieve
one specific goal.
Strategic: TQM must have a vision and the ability to make it real.
Process-Based: TQM activities are process-based.
Teamwork: An effective team helps to develop team spirit among the members.
Tools and Techniques To Achieve TQM
Organizations can apply several tools and techniques to improve total quality management. The
famous with them are benchmarking outsourcing, speed, ISO 9000, and statistical quality control
techniques.
#1 Benchmarking
Benchmarking is the process of searching for the most trustworthy practice amongst opponents
that drives to their greater performance. It is an evaluation and comparison of an organization’s
own products and processes against the very best in the market. It is a highly specialized form
of environmental scanning.
Benchmarking involves looking at similar firms to examine how they have achieved the best
performance levels and to understand the process they use. It helps to examine the essence
behind the excellent performance. This allows organizations to develop the best practice which
helps to improve performance.
#2 Outsourcing
Outsourcing is the process of subcontracting some of the jobs to other organizations to bring
quality and get the benefit of specialization. It is an important means of reducing costs and
improving quality.
If an organization performs every activity by itself, it may not be able to perform it efficiently
and the quality of product and service also be inferior. Thus, the organization needs to identify
certain areas that can be outsourced to minimize the cost of operation and to produce higher
quality.
#3 Speed
Speed is the time required to perform a specific activity for an organization. It is needed in all
areas including development, production, and distribution of products or services. Many
organizations are using speed for competitive advantage today.
Increasing speed will give organizations a strategic advantage and helps them to complete the
task more effectively. Speed has become an important competitive advantage today. It involves
not only doing the same things faster but also rethinking, and redesigning the whole business
cycle.
#4 ISO 9000
The international organization for standardization (ISO) is an international standard-setting body
composed of representatives from various national standard bodies. It was found on 23, February
1947.
There are five sets of standards covering areas such as product testing, employee training, record
keeping, supplier relations, and repair policies and procedures starting from 9000 to 9004. Firms
that meet these standards apply for certification and are audited by a firm’s domestic affiliation
organization. It develops quality standards over a wide range of quality systems, which add value
to the business operations.
Six Sigma's aim is to eliminate waste and inefficiency, thereby increasing customer
satisfaction by delivering what the customer is expecting.
Six Sigma follows a structured methodology, and has defined roles for the participants.
Six Sigma is a data driven methodology, and requires accurate data collection for the
processes being analyzed.
Six Sigma is about putting results on Financial Statements.
Six Sigma is a business-driven, multi-dimensional structured approach for −
o Improving Processes
o Lowering Defects
o Reducing process variability
o Reducing costs
o Increasing customer satisfaction
o Increased profits
The word Sigma is a statistical term that measures how far a given process deviates from
perfection.
The central idea behind Six Sigma: If you can measure how many "defects" you have in a process,
you can systematically figure out how to eliminate them and get as close to "zero defects" as
possible and specifically it means a failure rate of 3.4 parts per million or 99.9997% perfect.
Key Concepts of Six Sigma
Customers
Processes
Employees
The Customers
Customers define quality. They expect performance, reliability, competitive prices, on-time
delivery, service, clear and correct transaction processing and more. This means it is important to
provide what the customers need to gain customer delight.
The Processes
Defining processes as well as defining their metrics and measures is the central aspect of Six
Sigma.
In a business, the quality should be looked from the customer's perspective and so we must look
at a defined process from the outside-in.
By understanding the transaction lifecycle from the customer's needs and processes, we can
discover what they are seeing and feeling. This gives a chance to identify weak areas with in a
process and then we can improve them.
The Employees
A company must involve all its employees in the Six Sigma program. Company must provide
opportunities and incentives for employees to focus their talents and ability to satisfy customers.
It is important to Six Sigma that all the team members should have a well-defined role with
measurable objectives.
Six Sigma - Organization
Under a Six Sigma program, the members of an organization are assigned specific roles to play,
each with a title. This highly structured format is necessary in order to implement Six Sigma
throughout the organization.
There are seven specific responsibilities or "role areas" in a Six Sigma program, which are as
follows.
Leadership
A leadership team or council defines the goals and objectives in the Six Sigma process. Just as a
corporate leader sets a tone and course to achieve an objective, the Six Sigma council sets the goals
to be met by the team. Here is the list of leadership Council Responsibilities −
Sponsor
Six Sigma sponsors are high-level individuals who understand Six Sigma and are committed to its
success. The individual in the sponsor role acts as a problem solver for the ongoing Six Sigma
project. Six Sigma is generally led by a full-time, high-level champion, such as an Executive Vice
President.
Sponsors are the owners of processes and systems, who help initiate and coordinate Six Sigma
improvement activities in their areas of responsibilities.
Implementation Leader
The person responsible for supervising the Six Sigma team effort, who supports the leadership
council by ensuring that the work of the team is completed in the desired manner, is the
implementation Leader.
Ensuring success of the implementation plan and solving problems as they arise, training as
needed, and assisting sponsors in motivating the team are some of the key responsibilities of an
implementation leader.
Coach
Coach is a Six Sigma expert or consultant who sets a schedule, defines result of a project, and who
mediates conflict, or deals with resistance to the program.
Duties include working as a go-between for sponsor and leadership, scheduling the work of the
team, identifying and defining the desired results of the project, mediating disagreements,
conflicts, and resistance to the program and identifying success as it occurs.
Team Leader
It is an individual responsible for overseeing the work of the team and for acting as a go-between
with the sponsor and the team members.
Responsibilities include communication with the sponsor in defining project goals and rationale,
picking and assisting team members and other resources, keeping the project on schedule, and
keeping track of steps in the process as they are completed.
Team Member
An employee who works on a Six Sigma project, given specific duties within a project, and has
deadlines to meet in reaching specific project goals.
Team members execute specific Six Sigma assignments and work with other members of the team
within a defined project schedule, to reach specifically identified goals.
Process Owner
A process owner in six sigma is a senior business executive, who is in charge of the business
process that a Six Sigma project is trying to improve
ISO/IEC 9126 is an international standard proposed to make sure ‘quality of all software-
intensive products’ which includes a system like safety-critical where in case of failure of
software lives will be in jeopardy. ISO i.e. International Organization for standardization and
IEC i.e. International Electro-technical Commission have developed ISO/IEC 9126 standards
for software engineering –> Product Quality to provide an all-inclusive specification
and evaluation model for the quality of the software product.
The standard is divided into 4 parts as depicted in the following figure:
It is concluded that first three parts are concerned with describing and measuring quality of
software product and fourth part concerned about quality of software product from user point
of view.
Furthermore, first part i.e. Quality model is concerned classified into two categories as
depicted in the following figure:
Internal External Quality Part: It determines the quality of a software product through six
characteristics which are Functionality, Reliability, Usability, Efficiency, Maintainability and
Portability. Each characteristics is subdivided into related sub-characteristics which are also
depicted in the above example.
1. Functionality: The functions are those that will satisfy implied needs.
Suitability
Accuracy
Interoperability
Security
Functionality Compliance
2. Reliability: A set of attributes that will bear on the capability of software to maintain the
level of performance.
Maturity
Fault Tolerance
Recoverability
Reliability Compliance
3. Usability: A set of attributes that bear on the effort needed for use by a implied set of
users.
Understandability
Learn ability
Operability
Attractiveness
Usability Compliance
4. Efficiency: A set of attributes that bear on the relationship between the level of
performance of the software under stated conditions.
Time Behavior
Resource Utilization
Efficiency Compliance
5. Maintainability: A set of attributes that bear on the effort needed to make specified
modifications.
Analyzability
Changeability
Stability
Testability
Maintainability Compliance
6. Portability: A set of attributes that bear on the ability of software to be transferred from
one environment to another.
Adaptability
Installability
Co-existence
Replace ability
Portability Compliance
Quality in use Model: It identifies the four quality characteristics i.e. Effectiveness,
Productivity, Safety, Satisfaction.