integrating quality function deployment to improve software quality by responding to customer needs
TRANSCRIPT
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
1/73
INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE
SOFTWARE QUALITY BY RESPONDING TO CUSTOMER NEEDS
____________
A Thesis
Presented
to the Faculty of
California State University Dominguez Hills
____________
In Partial Fulfillment
of the Requirements for the Degree
Master of Science
in
Quality Assurance
____________
by
Izbat Sultana
Summer 2014
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
2/73
Copyright by
IZBAT SULTANA
2014
All Rights Reserved
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
3/73
THESIS: INTEGRATING QUALITY FUNCTION DEPLOYMENT TO
IMPROVE SOFTWARE QUALITY BY RESPONDING TOCUSTOMER NEEDS
AUTHOR: IZBAT SULTANA
APPROVED:
Keith A. Fulton, MSQAThesis Committee Chair
Robert Spencer, MA, MSQA
Committee Member
Pam Dunahay, MBA, MSQACommittee Member
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
4/73
iv
TABLE OF CONTENTS
PAGE
COPYRIGHT PAGE ......................................................................................................... ii
APPROVAL PAGE .......................................................................................................... iii
TABLE OF CONTENTS ................................................................................................. iv
LIST OF TABLES ........................................................................................................... vi
LIST OF FIGURES ........................................................................................................ vii
ABSTRACT ................................................................................................................... viii
CHAPTER
1. INTRODUCTION .......................................................................................................1
Background ............................................................................................................1
Statement of the Problem .......................................................................................4Purpose of the Study ..............................................................................................6
Theoretical Bases and Organization ......................................................................7
Limitations of the Study.........................................................................................7
Definition of Terms ................................................................................................9
2. REVIEW OF THE LITERATURE ............................................................................12
Overview of Quality Function Deployment ........................................................13
Overview of Software Quality .............................................................................15
Integration of QFD and Software Quality ...........................................................17
3. METHODOLOGY ....................................................................................................19
Design of the Investigation ..................................................................................19
Treatment .............................................................................................................20
4. RESULTS AND DISCUSSIONS ..............................................................................21
Stages of QFD ......................................................................................................21
Phases of QFD .....................................................................................................23
Software Development Life Cycle ......................................................................25
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
5/73
v
CHAPTER PAGE
SDLC Methodologies ..........................................................................................29
Traditional Software Development Methodology .....................................29Agile Software Development Methodology ..............................................31Traditional Model vs. Agile Method ..........................................................32
Evaluation Criteria of Software Quality ..............................................................34
Categories of Software Quality ............................................................................35QFD Software Tools ............................................................................................38
QFD as a Method to Help Project Management ..................................................42
Importance of QFD in Improving Software Quality............................................43
Improving Software Quality by Listening to the VOC ..............................45Improving Software Quality by Using House of Quality ..........................49
Improving Software Quality by Reducing Cost of Quality .......................53
Drawbacks in Improving Software Quality .........................................................55Cause-Effect Relationship Analysis to Mitigate Drawbacks ...............................56
5. SUMMARY, CONCLUSIONS, AND RECOMMENDATIONS ..............................58
REFERENCES ................................................................................................................62
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
6/73
vi
LIST OF TABLES
PAGE
1. Comparison between Traditional Model and Agile Method .........................................32
2. 5W1H Voice of the Customer Table - Software Customers ..........................................47
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
7/73
vii
LIST OF FIGURES
PAGE
1. Concept of Software Quality .........................................................................................16
2. Software Development Life Cycle.................................................................................26
3. Phases of Waterfall Model .............................................................................................30
4. Categories of Software Quality ......................................................................................37
5. PathMaker Consensus Builder Tool ...............................................................................39
6. PathMaker Brainstorm Tool ...........................................................................................41
7. Formation of House of Quality ......................................................................................52
8. Relative Costs to Fix Software Defects .........................................................................54
9. Cause-and-Effect Diagram for a Defect.........................................................................57
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
8/73
ABSTRACT
Quality software fulfills customer needs and provides superior value. However,
quality is difficult to maintain without knowledge of customer feedback and a sound
methodology of design and development based on customer insight. This thesis focuses on
two questions: Is Quality Function Deployment (QFD) one of the best tools for implementing
customer feedback into product design and development so that customer needs are met?
What difference does it make during the Software Development Life Cycle if the QFD
process is used for designing and developing software products? This research reviews the
QFD methodology, its importance and application in software development, and how QFD
integration can ensure better software quality. QFD is of great value for small-scale projects,
but incorporating this tool successfully is not an easy task due to some drawbacks.
Therefore, this research discusses QFD benefits, reviews application of QFD methodology,
notes potential shortcomings, and identifies possible solutions.
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
9/73
1
CHAPTER 1
INTRODUCTION
Background
Quality is a customer concern in todays competitive market. Customers prefer
quality products. Though customers expect quality, maintaining or improving it is not an
easy task for organizations. Organizations must be able to gather customer feedback and
incorporate customer requirements into product design and development. Organizations
must develop effective tools and techniques to maintain software quality. Quality
Function Deployment (QFD) is an effective tool for such a process. It helps
organizations capture, analyze, and incorporate customer requirements while designing
and developing products and ensures superior value for customers.
Quality Function Deployment methodology is used by manufacturing and service
industries. These industries have used QFD to listen to customers since 1960. According
to Sener and Karsak (2012), compared to other industries, the software industry was late
adopting QFD. However, over time, the software industry realized the necessity of
having extensive customer feedback and research. Therefore, software companies have
undergone a massive revolution, especially the last two decades. Due to competition,
software companies have taken significant efforts to improve software quality (Sener &
Karsak, 2012). These efforts include introduction of the latest innovative tools,
techniques, and methodologies, through which processes and results can be improved. In
the software industry, these improvements are evaluated in three categories: quality,
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
10/73
2
efficiency, and repeatability (Nilsson, Castro, Rivas, & Arts, 2013). Moreover, some
quality enhancement techniques have been incorporated into the software development
process so that improvements are ongoing (Sener & Karsak, 2012).
Quality Function Deployment improves quality designs to fulfill customer
expectations and maximize customer satisfaction (Sener & Karsak, 2012). QFD is a
systematic methodology that integrates customer requirements into each phase of the
Software Development Life Cycle (SDLC), helping to deliver quality products. Meeting
expectations is not possible without understanding customer wants (what customers
would like to have) and needs (what customers must have). QFD helps software
companies successfully design and develop new products and services based on customer
wants and needs (Uppalanchi, 2010).
Since 1960, Quality Function Deployment has improved quality, value, and
customer satisfaction during product or service design and development stages (Ross &
Mazur, 2009). While companies primarily focus on functionality of software products, it
is also necessary to ensure price reduction by limiting poor quality costs (American
Society for Quality, n.d.). Usually, when an organization incorporates customer
requirements with software product development, they can mitigate the necessity of
reworking, fulfilling warranty claims, product returns, scrap, product recalls, and other
internal and external failure costs. Thus, poor quality costs can be reduced or avoided
(Ross & Mazur, 2009). Also, companies can add value to their products, which
eventually leads to improved software quality.
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
11/73
3
The House of Quality is a tool used by QFD to capture and analyze current and
future customer requirements. It can help organizations incorporate customer
requirements in product design and development (Sener & Karsak, 2012). Additionally,
the current lightweight Agile Method is getting greater preference for small-scale projects
since the traditional Waterfall Model is considered more suitable for large-scale software
development projects. The combination of perfect tools can lead to improved software
quality with small-scale projects (Leau, Loo, Tham, & Tan, 2012).
The theoretical discussion of this thesis was made from the small-scale project
perspective. When organizations find their projects with few available resources, they
consider it a small-scale project. These organizations prefer to use the Agile Method
based on QFD (Kivinen, 2008). Compared to the Agile Method, the user interaction is
less in the Traditional Method. The Agile Method focuses on customer feedback at each
iteration. Since technology evolves quickly and customers want products with new
features, organizations need to be responsive to ever-changing customer requirements.
Once customer requirements are set, organizations can establish the relationship between
every pair of challenges and changes by using the QFD matrix. The relationship can be
classified as strong, medium strong, medium, medium weak, and weak. Organizations
can then determine whether change is complementary or conflicting. By incorporating
favorable changes based on the relation-type, organizations can reduce bug rates, shorten
the lifespan of the SDLC, and design and develop software more effectively and
efficiently based on customer needs (Leau, Loo, Tham, & Tan, 2012).
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
12/73
4
Okonta, Ojugo, Raphael, and Dele (2013) argued that each software development
project varies in terms of its concept, framework, and requirements. Also, the reality is
that customer language is often different from designers and developers language. QFD
can eliminate these differences and help achieve multifunctional consensus. Typically,
QFD can be of great value gathering customersvoices to be heard in a way that is
understood by organizations and customers alike. These improvements can reduce poor
quality costs, ensure implementation of desired features, increase quality, and reduce
software development time (Okonta et al., 2013).
Statement of the Problem
Though it is not an easy task to improve software quality, organizations adopt
appropriate tools and techniques that best suit their project size and type to achieve
optimum output. To make products more appealing and acceptable to customers,
organizations work to design and deliver quality products. This paper focuses on the
issue of improving the quality of software and how QFD can help maintain and improve
quality. This thesis focuses on these two questions: Is QFD one of the best tools for
implementing customer feedback into product design and development so that customer
needs are met? What difference does it make during the Software Development Life
Cycle (SDLC) if the QFD process is used for designing and developing software
products?
The Information Technology field consistently helps maintain software quality
and seeks improvements. Though quality was a competitive advantage before
organizations gave it greater emphasis, customers require it in the current market.
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
13/73
5
Therefore, organizations without quality products will not survive. Software companies
are aware of this crisis and try to address it during product design and development.
Software companies face many internal problems, including ineffective communication,
poor teamwork skills, inability to meet due date commitments, and products of mediocre
quality. Other problems include changing customer wants and needs, rising maintenance
costs, inability to forecast and control costs, a backlog for designing new applications,
risks associated with offering and upholding quality assurance, and risks of increased
number of defects in software development. All these problems have to be handled
carefully by software companies (Chang, Wu, & Lin, 2008). Failure to handle these
issues successfully may impact the quality of software products and result in customer
loss.
However, to overcome these crises, organizations need to address them at an early
stage. Using the Agile Method based on the QFD matrix is helpful for many small-scale
projects. This method can help track all customer requirement changes. Organizations
can use a matrix, such as House of Quality, to specify customer requirements.
Companies can weigh changing requirements based on their importance and become
responsive to changes where required. Compared to set requirements, organizations
detect product defects or areas that dont comply with desired specifications. If
organizations can incorporate changes at an early stage of product development, it may
reduce correction costs. Also, when corrective and preventive actions are taken at an
early stage, it may reverse negative impacts on finished products. They can ensure a
better quality of software products too. If customer requirements are not determined and
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
14/73
6
analyzed earlier in process, it makes it much more difficult to incorporate changes at a
later stage of software design and development. To better understand customer needs to
improve quality, several important efforts have been taken by software companies.
Adopting the Quality Function Deployment tool aids to capture, analyze, and understand
customers. Eventually, this tool can help satisfy customers (Sener & Karsak, 2012).
Purpose of the Study
Several studies have been conducted to establish the link between QFD and
successful product or service development in the manufacturing and service sector.
However, the software industry started this analysis in the last twenty years. As a result,
researchers need to analyze extensively the integration of QFD in the software industry
and its benefits in making improved software quality (Sener & Karsak, 2012). Therefore,
the purpose of this research is to examine important differences during the Software
Development Life Cycle when the QFD process is used for designing and developing
software products. Further, House of Quality is examined for the important role it plays
to ensure software quality improvement for any small-scale project. Additionally, the
acceptance of the Agile Method for small-scale projects improves the process of
capturing, analyzing, and incorporating customerscurrent and future requirements
(Kivinen, 2008).
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
15/73
7
Theoretical Bases and Organization
QFD has been used in manufacturing and service industries since 1972 and in the
software industry since 1987 (Kivinen, 2008). Many studies have focused on QFDsrole
in improving product quality or services in those industries. Compared to the
manufacturing and service industry, there is much less research on the role of QFD in the
software industry. However, concepts, tools, and methodologies used to improve the
quality of products or services can be applicable to software development and production
and can be used to ensure improved software quality. Therefore, many case studies and
theories used in manufacturing and service sectors were reviewed for this study.
Since software has created a significant demand among different types of
businesses, quality software is desired by their customers. Therefore, this thesis
demonstrates how to create a link between QFD methodology and continuous
improvement of software quality to help ensure customer satisfaction.
Limitations of the Study
Software quality has been enhanced substantially the last two decades. Customers
have offered feedback to improve software. However, it takes significant time to
implement these changes into software development. Also, rapid changes in the
technological environment can influence customer needs and wants. In this case, while
the final product is in the market, customer requirements often change. Eventually,
customer requirements do not match end product features. This can lead to customer
dissatisfaction since they are not getting the products they require. Moreover, innovative
products demand prompt incorporation of customer requirements into the product,
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
16/73
8
whereas large-scale projects need more time and resources to incorporate all requirements
successfully. If QFD methodology cannot incorporate customer requirements promptly
or takes a long time to complete the process, it will not be as successful as expected.
Therefore, QFD is not considered suitable for innovative and large-scale projects.
Traditional QFD methodology only works with the Voice of the Customers
(VOC) collected through a time-consuming method, such as survey or interview. A
rapidly evolving environment causes changes in customer opinions and requirements,
leaving a gap between the collection of customer data and the end product. Therefore,
the final product may not fulfill customer needs anymore. Due to changing customer
needs, an organization might need to redesign and develop products based on a new
precedence of customer needs, which is time consuming (Sener & Karsak, 2012).
Though the application of QFD in developing software is becoming common, the
number of available or published works focusing on QFD use in the software industry is
scarce compared to the manufacturing or service industries (Sener & Karsak, 2010).
However, when requirements and practices evolve within a short period of time,
organizational strategies to handle crises vary. One organization may go for a time-
consuming approach; another may not. Some organizations may opt not to use QFD
methodology when innovating products or services. Moreover, some tools and
techniques might be suitable for small-scale projects. Therefore, limitations show the
necessity to propose common strategies for all organizations to cope with challenges and
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
17/73
9
improve quality. This suggestion arose from information collected from the primary
credible sources, which are commonly practiced throughout the software industry.
Definition of Terms
Affinity Analysis: A team uses this to sort customersresponses into common groups by
using a consensus process.
Agile Model: The Agile Model approach is suitable for software development, aiding
organizations to be responsive to change.
Analytical Hierarchy Process (AHP): AHP is considered a formal procedure for ranking
options.
Capability Maturity Model Integration (CMMI): CMMI depicts the best practices for
software development managing, measuring, and monitoring.
Continuous Improvement: Ongoing process for the betterment of any product or service.
Correlation Matrix: This matrix shows the relation between customer demands (WHATS)
and quality characteristics (HOWS).
Cost of Poor Quality: These are costs resulting from failure to produce good quality
products or services.
Cross-Functional Team: A collection of people who have diverse expertise but the same
goal.
House of Quality: House of Quality is a QFD chart that defines and relates customer
demands and quality characteristics.
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
18/73
10
ISO 9000 Standards of 2001: Guidelines for organizations to achieve constant customer
satisfaction.
ISO 9001-2000 Standard: Guidelines through which organizations accomplish their goal
and fulfill customer requirements.
ISO 9126-1 Model: A global standard especially designed for assessing software quality.
IT Infrastructure Library: Guidance for supporting IT services with organizational needs.
Kano Model: This is a two-dimensional model that graphically represents customer
reality and perception.
Project Management: Set of techniques to propose, plan, implement, manage, and
evaluate any project.
Quality Function Deployment(QFD): QFD is a structured process through which the
Voice of the Customers can be identified and carried out through each stage of design and
development.
Relationship Matrix: This matrix helps to determine strength to predict customer
satisfaction in terms of each demanded quality.
Rational Unified Process (RUP): RUP is a comprehensive iterative framework that guides
software companies with industry-tested practices and ensures successful Project
Management.
Scrum: An Agile structure that helps software companies successfully finish any complex
project by ensuring perfect team collaboration.
Small-scale Project: A project that doesn't have many available resources is known as a
Small-scale Project.
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
19/73
11
Software Development Lifecycle (SDLC): The SDLC model is dedicated to software
development, which includes the process from its inception to maintenance.
Software Quality: A study that depicts desirable characteristics of software products.
Software Quality Function Deployment (SQFD): SQFD emphasizes quality enhancement
strategies during software requirementsspecification phase so that quality of the
software can be improved.
Strategic Planning: Planning related to achieving the mission and vision by using limited
resources.
Total Quality Management (TQM): TQM is a long-term approach of being successful by
satisfying customers.
Verification: Assesses work products to verify that specified requirements are met for a
certain phase.
Validation: Appraises software thoroughly, or at the end of the development phase, to
verify that particular business requirements are met.
Voice of the Customer (VOC): Customerswants and needs expressed verbally or
through written statement. Customer needs can be termed as verbatims.
Voice of the Customer Table (VOCT): A table with organized, translated, and analyzed
verbatims. It gives an idea about how a customer plans to use the product or service.
Waterfall Model: A sequential downward process for software development that includes
analysis, design, implementation, testing, and maintenance.
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
20/73
12
CHAPTER 2
REVIEW OF THE LITERATURE
Several journal articles, white papers, and published theses were reviewed to
understand the application of QFD and use of this methodology to improve software
quality. This research led to a variety of concepts related to QFD application, which are
referenced in this paper. Kivinen (2008 and Sener and Karsak (2012) were two of the
most influential. These sources, along with additional sources listed in the references,
were extensively reviewed to establish arguments and show the role of QFD in improving
software quality. Though no article was found precisely on the same topic, this research
built upon their research and adds a new perspective on QFD application and limitations.
Though several sources touched on software quality, Chang, Wu, and Lin (2008)
served as the primary reference to focus on the role of QFD in improving software
quality. Several resources helped support this papersargument that QFD is not as
suitable for innovative products or large-scale projects. Many authors of the sources used
in this paper had active experience with QFD for many years. The data and facts
provided in this paper relate to software technology and its quality. All the materials
cited are foundational to the argument about the link between QFD and improved
software quality. The sources also helped support the logic of how reducing Cost of
Quality can play an important role in improving software quality, how the competitive
market has compelled organizations to be more proactive in rapidly responding to
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
21/73
13
changes in customer requirements, and so forth. Overall, the research is essential to
establish the role of QFD in improving software quality by responding to customer needs.
Overview of Quality Function Deployment
QFD was first introduced in the late 1960s in Japan by Shigeru Mizuno and Yoji
Akao. Mizuno and Akao designed the product based on customer requirements before
manufacturing so that the final product would satisfy customers. The QFD
methodological transfer (from manufacturing to software industry) initially took place in
1984 while Japanese designers explored the progress of embedded software. In 1988,
Digital Equipment Corporation (DEC) proclaimed that QFD could be utilized for
software development. In 1987, Richard Zultner was the first to describe the integration
of QFD with software engineering. In 1989, Betts united the principles of QFD with the
Software Development Life Cycle (SDLC). In 1996, the term Software Quality Function
Deployment (SQFD) emerged, and further development took place with requirements
engineering (Kivinen, 2008).
QFD is considered a decision making methodology and structured planning tool
that focuses on quality while designing a product so that quality can be integrated from
the beginning. The concept of quality drives QFD to ensure the best possible product for
customers. QFD emphasizes customersneeds. QFD captures needs and translates those
specifications into part characteristics, product requirements, process plans, and
production or quality plans (Kivinen, 2008).
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
22/73
14
In the current competitive market, organizations must recognize customersexact
needs, incorporate requirements successfully during design and development, and
measure their satisfaction after delivering the product or service. Initially, QFD
methodology captures the Voice of the Customers (VOC) and then addresses the gaps
between customer expectations and the actual products or service experience. Thus, QFD
can maintain integrity and can engender innovative techniques to achieve the
organizations vision. Moreover, QFD can help organizations diminish negative qualities
and capitalize on positive qualities. It eventually creates value that satisfies customer
needs. With the help of this methodology, organizations can concentrate on design with
quality rather than inspect quality after the product is developed. QFD might eventually
help reduce development times, promote teamwork, and lower startup costs (Uppalanchi,
2010).
With the help of QFD, companies can be proactive rather than reactive. That
means, rather than handling customer complaints, they can resolve quality problems at
the beginning or throughout the development process. Translating customer desires into
production requirements, technical attributes, and process plans is the fundamental
concept of QFD. In the case of software development, QFD adoption is termed Software
Quality Function Deployment (SQFD). SQFD can be considered a structured
methodology that concentrates on improving the quality of the software development
process so that products can be developed to meet customer expectations. This process is
possible by listening to customers throughout the design and development process (Sener
& Karsak, 2010).
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
23/73
15
The matrix chart, or quality chart, which is known as House of Quality, is the
central tool of SQFD. This tool helps generate prioritized, quantifiable, and explicit
technical requirements collected from indistinct customer needs (Kivinen, 2008). Over
time, better tools have been developed, such as the Agile Method, which is suitable for
the smallest projects (Leau, Loo, Tham, & Tan, 2012).
Overview of Software Quality
Software quality can be evaluated by the extent to which the software complies
with customer requirements of characteristics and functions. The ISO 9000 Standards of
2001 delineate software quality as the totality of characteristics and features of any
software that fulfills oblique needs of customers. Software quality includes the following
measurements:
1. Degree of userssatisfaction compared to their expectations.
2. Degree of program maintainability and effectiveness of the system.
3. Management and control of quality.
4. Costs of project, risk management, production time, and resource control.
Software quality can be further categorized into two types: software procedure
quality and software product quality (Kivinen, 2008). Figure 1 gives a clear concept of
software quality.
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
24/73
16
Figure 1.Concept of software quality. Adapted from Integrating Fuzzy Theory and
Hierarchy Concepts to Evaluate Software Quality, byC. Chang, C. Wu, and H. Lin,
2008, Software Quality Journal, 16, p. 263-276.
In other words, software quality is high when there are no known errors or
deficiencies. Though desired, it is difficult to provide software with zero defects.
Quality is emphasized since the consequence of poor quality is financial loss, dissatisfied
customers, and customer loss. The widespread quality standards are Capability Maturity
Model Integration (CMMI), ISO9001-2000 Standard, Total Quality Management (TQM),
and IT Infrastructure Library (ITIL). There are three basic processes to ensure better
software quality: quality planning, control, and improvement. To ensure software quality,
organizations must ensure process quality and also product quality (Kivinen, 2008).
Software Quality
Software Procedure Quality
TechnologyTools
PersonnelOrganization
Equipment
Software Product Quality
Document Clarity
IntegrityDesign Traceability
OrganizationProgram Reliability
Test Integrity
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
25/73
17
Integration of QFD and Software Quality
The software industry was not the early adopter of QFD. Manufacturing and
service was the initial adopter. Quality has always been a significant issue in the
manufacturing and service industry. They had to incur time and costs to maintain quality
and refined the QFD tool. They detected poor quality before it reached customers.
Therefore, they reduced the cost of poor quality related to warranty claims, reworking,
customer complaints, and other costs.
Many organizations have adopted social media as a great source through which
they can reach customers and receive feedback. Social media is often used to keep pace
with rapidly changing customer needs, their feedback, satisfaction, and dissatisfaction.
Since the turn of the century, dozens of publications in the manufacturing or
service industry have been launched related to QFD. Extensive analysis and research was
needed to reach this phase of development. Over time, this information helped the
software industry to use QFD in the most effective way to obtain optimum output.
However, there are a few variations among industries in terms of product type, frequency
of customer requirement changes, and satisfaction level. Customersrequirements
change quickly and propel advances. Strategies often need to be customized. General
rules, tools, and techniques may not be suitable for all industries or projects. Social
media interactions with software companies are not that popular yet. Hence, approaches
to reach customers differ as often as the investigation method (Oke, 2013).
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
26/73
18
QFD methodology aims to engage customers in the product development process
so that core quality is present in the end product or service and customers are satisfied
(Kivinen, 2008). Rapidly changing customer needs made the market more competitive.
Organizations now have to pay close attention to customers to survive and become
successful. Software companies use QFD to determine product design features to
achieve customer satisfaction. They also prioritize features based on their importance to
the later phase of the design process.
QFD is a productive methodology through which rapidly changing needs can be
captured and incorporated into the development process. This methodology links
marketers, customers, competitors, engineers, and production methods. Moreover, by
developing a comprehensive view of the design process, problems can be resolved at an
early stage of design, which may radically improve production. Since QFD seeks both
explicit and implicit customer needs, it helps organizations produce software that meets
customer requirements. As a result, errors decline and quality improves (Uppalanchi,
2010).
However, quality software is considered defect-free. Though it is difficult to
make any software defect-free, organizations develop the best products possible. To
ensure no known defects, organizations need to know their customersrequirements are
rapidly changing. Otherwise, the gap between expected and actual experience will hinder
the software from being bug-free. Like other industries, software organizations have
used the QFD methodology for small-scale projects so they can keep pace with changes
and fulfill customer needs (Uppalanchi, 2010).
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
27/73
19
CHAPTER 3
METHODOLOGY
Design of the Investigation
The information gathered for this thesis was focused on the QFD concept that was
first introduced by Shigeru Mizuno and Yoji Akao. The framework for the analysis
included the concept of QFD, and its use in the software industry, as first described by
Richard Zultner in 1987 (Kivinen, 2008). This thesis focuses on why continuous
improvement of software is crucial and the quality of QFD as a solution. This paper will
not only let the reader know about the current practice of QFD in improving software
quality, but also focus on the current and more acceptable SDLC method. Problems
related to using effective tools and techniques have been emphasized and solutions
highlighted. A comparison has been made between the Waterfall Model and the Agile
Method, noting which method is most suitable. The purpose of this study is to come up
with a clear understanding about how QFD can make customers happy by ensuring better
quality software.
The thesis utilizes qualitative research and not a survey. Rather, the investigation
was based on information obtained from credible sources. However, there were some
statistical data or research findings collected from various white papers or journals. Since
no survey was conducted, the information obtained from credible sources received the
appropriate emphasis. Various statistical data, or support theories, have been used to
formulate a conclusion.
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
28/73
20
Treatment
Each section of this paper has a brief description of QFD and concepts related to
improved software quality. Those descriptions have formed the baseline for discussing
QFD as a tool to improve software quality. Since no survey was conducted to support the
theory, each section started with an overview of the problem maintaining good quality
software and then progressed to the solution of using the QFD concept. The data or
analysis used in this paper was collected from credible sources and reliable authors.
Some data have been collected from other industry practices since those are applicable
for the software industry.
Changing customers, needs and this connection to quality production has been
emphasized. Several problems have been highlighted that impede the improvement of
software quality. With appropriate reasoning, each section has developed the best
possible solution to overcome problems related to the QFD tool. As part of the activity,
relevant data and pictures have been included to support the theory.
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
29/73
21
CHAPTER 4
RESULTS AND DISCUSSIONS
Stages of QFD
Organizations must proceed through a step-by step process to get the optimum
output from the QFD approach. Comprehensive procedures that let organizations capture
and use the information accordingly and deliver the customers with the desired end
product include five stages (Ictenbas & Eryilmaz, 2011).
Stage 1
The first stage of QFD is to determine the requirements of customers. To begin a
QFD process, a business must listen to its customers. Feedback can be based on a survey
report, experiences, or interactions with customers. Social media has been recognized as
a great source to reach customers.
Stage 2
In the second stage, the priority structure is determined based on customer
requirements. The competitive assessment of customer requirements is also part of this
stage. For each requirement, customers can participate in deciding the organizations
position compared to competitors. This competitive evaluation can be completed through
customer survey. The customer survey may include direct interviews, questionnaire
survey, e-mail communication, interviews via telephone, and so forth.
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
30/73
22
Stage 3
In this stage, the horizontal section of the QFD matrix is developed based on the
data collected about customers. In this segment, a list is developed with an appropriate
order. The list may contain priority rating, customer requirements, and competitive
evaluation of customer requirements.
Stage 4
In this stage, the vertical segment of the QFD matrix is developed. After
identifying customer requirements, inter-relationships between customer expectations and
design requirements are established. The design requisite can be scrutinized to verify its
co-relationship. The objective of doing this is to highlight conflicting requirements.
Column weights are calculated, allowing consideration for the importance of each design
requirement.
Stage 5
Stage five analyzes the completed QFD matrix. Based on the final ranking, team
focus is designed and arranged so that customer needs can be fulfilled. To successfully
design and develop a product with better quality, all stages should be analyzed and
implemented accordingly (Ictenbas & Eryilmaz, 2011).
Every software development process is considered a unique project, since the
time, cost, and resources required for each project is different. Whatever the size or type
of project, this five-step process is effective for successful product development. A
survey was conducted in the UK where 1500 IT Project Managers participated. Huber
(2003) found that only 16% of project managers became successful in all of their targets.
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
31/73
23
The main reasons behind the failure included lack of user input, incomplete requirements
and specifications, and changing requirements and specifications. That means listening
to the customers over time can ensure better product design, development, and quality.
Since requirements acquisition and management are crucial to the success of any
software project, these aforementioned stages can be helpful for conducting the process
successfully (Kivinen, 2008).
Phases of QFD
In each phase of QFD, matrices are primed in planning and communicating
significant design and planning information. Throughout the small-scale software
development project, these basic four phases of QFD occur successfully. The successful
execution of these four phases eventually leads to the improved quality of the software
(Okonta et al., 2013).
Product Planning
Product planning is the first phase of QFD that includes developing the House of
Quality (HOQ). This phase is also called The House of Quality. The marketing
department of the specific software company usually leads this phase. During this phase,
documents are prepared on customer requirements, warranty data, product measurements,
competitive opportunities, and an organizations technical ability to fulfill customer
needs. This phase plays an important role to make the entire QFD process successful
since customer data is collected.
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
32/73
24
Product Design
The second phase is usually led by the software engineering department. Creative
and innovative ideas can make a successful product design. More than concepts are
developed in this phase. Documentations are also made on software part specifications.
The most important parts for meeting customer requirements are then determined. Once
the parts are determined, the deployment starts for software development process
planning.
Process Planning
The third phase is process planning, which is usually led by the software
manufacturing engineering department. In this phase, the process of manufacturing is
flowcharted, and documentations are done on the parameters of process or target values.
Process Control
In this phase, performance indicators are used to determine progress and
performance. The high risks of the entire software development process are identified,
and actions are taken to prevent failures in this phase too. The quality assurance
department, along with manufacturing department, usually led this phase.
The four phases of QFD methodology initiates with product planning, and then
continues with product design, process planning, and process control. The later phases
also include testing, quality control, training, maintenance of equipment, and so forth
(Okonta et al., 2013). Though QFD is considered a great tool to capture the Voice of the
Customers and develop products based on that, it is not applicable for all projects.
Usually, this tool is less effective for highly innovative products. In contrary, this is more
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
33/73
25
useful for small-scale projects. Whatever the project size, the phases would be same
though the output might vary (Sener & Karsak, 2012).
Software Development Life Cycle
Software Development Life Cycle (SDLC) is the accumulation of research,
modification, prototyping, maintenance, reuse, and other activities that influence the
development of software. This life cycle consists of some methodologies or stages
(Wang, Samadhiya, & Chen, 2011). The SDLC methodology can be of two types:
heavyweight and lightweight. The traditional heavyweight methodology example is that
of the Waterfall Model. On the other hand, a lightweight methodology example would be
the Agile Method. For small-scale projects, the Agile Method would be most effective;
for large projects it would be the Waterfall Model. The selection of the method depends
on the criteria and size of the project. If the organization prefers to go with the series of
steps for developing software, they might follow the method with five steps (Leau, Loo,
Tham, & Tan, 2012). Figure 2 can give the glimpse of the Software Development Life
Cycle.
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
34/73
26
Figure 2. Software development life cycle. Adapted from Software Development and
Quality Problems and Solutions, by S. Wang,D. Samadhiya, and D. Chen, 2011,Procedia Computer Science, 5, p. 730-735.
Software Development Life Cycle consists of five phases: Analysis, Design,
Implementation, Testing, and Maintenance (Bassil, 2012). The five phases are illustrated
next.
Analysis Phase
In this first phase, software requirements are specified. The phase contains a
comprehensive depiction of software behavior going to be developed. This phase focuses
and defines functional as well as non-functional specifications (Bassil, 2012). Since the
entire SDLC process contains a set of tasks that transform the requirements of the users
into a software system, QFD methodology can be a great way of completing this phase,
2. Design
3. Implementation
4. Testing
5.Maintenance
1. Analysis
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
35/73
27
through which the quality can be achieved by incorporating collected customers
requirements into product design and development (Kivinen, 2008).
Design Phase
In this phase, a plan is made to resolve any software problems. Designers and
developers describe a plan for problem-solving. Simultaneously, algorithm design,
concept design, design of software architecture, design of logical diagram, database
conceptual scheme, design of graphical user interface, and definition of data structure are
included to complete this phase (Bassil, 2012). In this phase, designers and developers
make a plan so that they can incorporate the collected requirements specified by
customers (Kivinen, 2008).
Implementation Phase
The implementation phase refers to the transformation of business and design
requirements into a solid executable database, program, software component, or website
by using deployment and programming. At this stage, operational application is created
based on written and accumulated real code. Text files are created as well as the
database. This phase contains the process of transforming the requirements (collected by
using QFD methodology) into an environment of production (Bassil, 2012). By
transforming the rapidly changing customer requirements, organizations can go for a
good quality software production in this stage that is the ultimate desire of both the
customers and the organizations (Kivinen, 2008).
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
36/73
28
Testing Phase
The testing phase is also known as the verification and validation phase. Since
organizations are paying great attention to rapidly changing customer needs, they are
conscious about verification and validation (V&V). Through this phase, organizations
check whether software meets customer specifications and attains the desired goal or not.
The verification process assesses the software product and tests that the product satisfies
the state of affairs imposed at the beginning of the phase. In contrary, the validation
process assesses the software product throughout or at closing stages of the development
process. The objective is to verify whether requirements are incorporated into the
product. Debugging is done in this stage, where system glitches and bugs are found and
corrected accordingly (Bassil, 2012). Requirements identified through QFD
methodology can work as the base here to compare and evaluate performance to ensure
the softwares optimum quality.
Maintenance Phase
The maintenance phase is more focused on amending a software product after it
has been delivered and deployed. The objective is to improve the software quality by
correcting errors, refining output, improving performance, incorporating usersrapidly
changing requirements, increasing the reliability of the software, and so forth (Bassil,
2012).
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
37/73
29
SDLC Methodologies
Two forms of SDLC methodologies have been used by organizations to run the
process of software development. The success of software development often depends on
the correct selection of methodology. Two types of methodologies are Traditional
Software Development Methodology (heavyweight method) and Agile Software
Development Methodology (lightweight method). Traditional software development
methodology includes methodologies like RUP, V-Model, Waterfall Method, and so on.
In this paper, the Waterfall Model and the Agile Method will be compared to contrast
their role in software development (Leau, Loo, Tham, & Tan, 2012).
Traditional Software Development Methodology
The Waterfall Model is also known as the classic life cycle, since it is considered
to be the oldest model used to develop software (Kivinen, 2008). It was first proposed by
Winston W. Royce in 1970 (Bassil, 2012). It is considered as a sequential and systematic
approach to developing software that consists of a step-by-step process that begins with
identification of customer requirements. It then progresses with planning, modeling,
construction, and deployment (Kivinen, 2008). Figure 3 depicts the different phases of
this model in a better way.
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
38/73
30
Figure 3. Phases of waterfall model. Adapted from A Simulation Model for the
Waterfall Software Development Life Cycle, by Y. Bassil, 2012,International Journalof Engineering & Technology, 2.
The first phase of this method is dedicated to specify requirements and the
estimated time for development. Forecasting problems in different phases is also part of
this phase. In the second phase, diagrams are developed to show the technical
infrastructure. Once the design and architectural plan is accepted, software development
starts. Sometimes testing and production address weaknesses at the early phase. When
the project is almost complete, customers are invited to test the product. Once customers
confirm the products compliance with their requirements, the organization delivers the
product to them (Leau, Loo, Tham, & Tan, 2012).
The functional requirements defined in this model include the scope, purpose,
functions, perspective, attributes of software, functionalities specifications, characteristics
of users, requirements of interface and database, etc. Non-functional requirements
include limitations, constraints, and other criteria part of softwaresdesign and operation.
Analysis
Design
Implementation
Testing
Maintenance
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
39/73
31
This type of requirement also includes the properties of testability, reliability, availability,
scalability, maintainability, quality standards, and performance (Bassil, 2012).
Agile Software Development Methodology
Agile Methodology is founded on the concept of iterative and incremental
development. In this method, the SDLC method phases evolve again and again. To
reach a solution, the customersfeedback receives more emphasis. Unlike the Waterfall
Model, the SDLC process is fragmented into small parts. They are known as iterations
or increments. The major factors of this method include adaptation to change, iterative
development, self-organizing teams, and early customer involvement (Leau, Loo, Tham,
& Tan, 2012).
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
40/73
32
Traditional Model vs. Agile Method
Table 1
Comparison Between the Traditional Model and Agile Method
Traditional Model Features Agile Method
Rework Cost
Customer Involvement
Fixed Direction of Development Changeable
At End of Coding Phase Testing At Each Iteration
For Large-scale Projects More Suitable Low, Medium-scale Projects
Nothing Required Skills for Developers Business & Interpersonal
Note. Adapted from Software Development Life Cycle AGILE vs Traditional
Approaches, by Y. B. Leau, W.K. Loo, W. Y. Tham, and S. F. Tan, 2012,International
Proceedings of Computer Science and Information Technology, 37.
However, in the Traditional Method, user requirements are defined in detail
before implementation. On the other hand, iterative acquisition is utilized for specifying
user requirements in the Agile Method. The Agile Method can be useful for making
customers satisfied since it focuses on customer feedback. Also, this method reduces the
bug rates, shortening the lifespan of the SDLC. This method is preferable to the
Traditional Method in the current market. Organizations working on small-scale projects
choose this method to develop software. However, the Traditional Method is not extinct.
It is also being used for complex- and large-scale projects.
As a rule, organizations should choose the method that best suits their project
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
41/73
33
type. Some factors should be considered to determine the type of the method: complexity
of the project, size of the team, type of project, engineering capability, industry
requirements, geographical location, business strategy, and so forth. This decision is
crucial for any organization since it highly influences software quality. By taking the
right decision, it becomes much easier to improve software quality.
According to Leau, Loo, Tham, and Tan (2012), there are six Agile development
methods. They are dynamic software development method, crystal methodologies,
feature-driven development, extreme programming, lean software development, and
scrum. Scrum is a well-known approach. Unlike Traditional Waterfall-based software
development methodology, Scrum is a quality driven approach based on cross-functional
teams. Testing starts from the beginning phase of software development, and all team
members contribute to the process of improving software quality. In the Scrum approach,
projects are divided into sprint. During a sprint, business analysts write user stories,
developers develop and complete unit testing, and QA analysts prepare the system test
cases in parallel and begin thorough testing right after the sprint demo at the end of the
sprint. The Scrum team is dedicated to design, develop, and deliver the software products
based on the specified customer requirements that satisfy them.
In the Traditional Method, customers or stakeholders are only met at the early
phase of the development to determine specifications. The drawback is that if defects
found at the later phase of the development, the entire module might need to be reverted
and rectified. Also, if customer requirements change, they may not be incorporated with
the end product. Therefore, quality cannot be maintained, and customer satisfaction
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
42/73
34
cannot be achieved. On the other hand, in the Agile Method, every module is presented
to customers for review. More interaction with customers lets the organization better
understand requirements, develop and modify products based on that knowledge, reach
the goal of quality products, and satisfy customers. While interacting with customers or
collecting data, QFD methodology can be of great value to capture, analyze, and
categorize customer requirements into a structured matrix. QFD also helps incorporate
requirements with design and development and to keep requirements for future reference
(Leau, Loo, Tham, & Tan, 2012).
Evaluation Criteria of Software Quality
Once any small-scale project goes through SDLC, as well as the stages and phases
of QFD, its performance should be evaluated. The evaluation results should indicate
QFDs effectivenessfor improving software quality. Without measuring software
quality, it is difficult to improve processes or software. Therefore, the evaluation process
is crucial. Organizations assess the quality of software by measuring the following six
major attributes set by the ISO model. The ISO 9126-1 model assesses the quality of the
software in terms of functionality, reliability, usability, efficiency, maintainability, and
portability. Software quality evaluation or assessment criteria, as well as sub-criteria,
include the following.
Functionality: Functionality assesses the extent to which any software satisfies affirmed
specifications of customers, including sub-criteria of accuracy, suitability, security, and
interoperability.
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
43/73
35
Reliability: Reliability assesses the availability of any software for use, including sub-
criteria of fault tolerance, maturity, and recoverability.
Usability: Usability evaluates the simplicity of using the software. It also includes sub-
criteria of attractiveness, understandability, operability, and learn-ability.
Efficiency: Efficiency assesses the use of resources, including sub-criteria of time and
resource behavior.
Maintainability: Maintainability evaluates any softwares ease of repairing, including
sub-criteria of satiability, changeability, testability, and analyzability.
Portability: Portability assesses how simply any software can be inverted from
environment to environment. It also includes sub-criteria of ability to install,
adaptability, coexistence, and ability to be replaced (Chang, Wu, & Lin, 2008).
Categories of Software Quality
The software industry is rapidly developing. Therefore, the concept of software
quality improvement is important. It is not only limited to planning, designing, and
developing software, but also about evaluating performance so that continuous
improvement can be made. QFD methodology can take part in the software quality
improvement process by helping organizations identify changing needs and by taking
actions for improvement in each category of software quality (Sener & Karsak, 2010).
Software quality can be classified into three areas. To improve quality, evaluation
needs to be conducted for each category, and weak areas identified. Then improvement
should take place. The three categories are Software Quality Fundamentals, Software
Quality Management Processes, and Practical Considerations.
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
44/73
36
Software Quality Fundamentals include software engineering culture and ethics,
value and costs of quality, models and quality characteristics, quality improvement, and
so forth. Software Quality Management Processes include software quality assurance,
verification and validation, reviews, and audits. Finally, Practical Considerations include
application quality requirements, defect characterization, software quality management
techniques, software quality measurement, and so forth (Kivinen, 2008). Figure 4 depicts
categories of software quality.
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
45/73
37
Figure 4. Categories of software quality. Adapted fromApplying QFD to Improve the
Requirements and Project Management in Small-scale Projects,by T. Kivinen, 2012.
However, software quality can be improved by going through a process of
continuous improvement that may include software quality fundamentals, software
quality management processes, and practical considerations. This improvement process
may require coordination, management control, feedback from processes and customers,
and more. A perfect software quality management process may indicate the level of
satisfaction customers have from the software product, customersperceived value for
that product, and indication of the areas that need improvement to meet customer
requirements (Kivinen, 2008).
Software Quality
Fundamentals
Software Quality
Management ProcessesPractical
Considerations
- Value and costs
of quality- Software
engineeringculture and ethics- Models and
quality
characteristics
- Quality
improvement
- Defect
characterization- Application
qualityrequirements- Software
quality
measurement
- Softwarequality
- Reviews and audits
- Verification andvalidation
- Software qualityassurance
Software Quality
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
46/73
38
QFD Software Tools
Numerous tools can be used to assist the process through which QFD develops
software products. PathMaker is one framework for software, which can be applied to
describe the required steps necessary to run QFD methodology. Management tools are
also included that help build QFD matrix content. PathMaker includes a tool called
Consensus Builder, used to make a suitable analysis regarding the significance of
customer requirements (Kivinen, 2008). Consensus Builder helps companies determine
customers thoughts as well as prioritize requirements by voting, rating, or discussions.
Through this tool, organizations can incorporate customers feedback in their design and
product development. Figure 5 is a snapshot of PathMakers Consensus Builder Tool that
shows how this tool works to determine the Voice of the Customer. Under the Legend
criteria, customers can describe features they want to be incorporated into or eliminated
from the product. The feedback collected from voting, rating, or discussions can be used
to build the QFD matrix, such as the House of Quality. These tools aid product design
and development by ensuring incorporation of customer requirements.
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
47/73
39
Figure 5. PathMaker consensus builder tool. Consensus Builder Tool, Skymark, 2014.
Retrieved from http://www.skymark.com/pathmaker/tour/consbldr.asp
The Cause and Effects Tool can be used to analyze and visualize the connection
between customer requirements and features. This tool arranges customer input based on
importance, so it can help identify the root causes of customer drawbacks. This tool can
be used to recognize probable causes that contribute to a single effect. In addition,
Consensus Builder can be used to allocate a value for the relationship (weak, strong, no
relationship). To record the result, PathMaker can provide QFD forms that are helpful
for building a QFD matrix.
Brainstorming and Affinity Diagram tools cartel two significant innovative
processes. Brainstorming is a tool used to collect customer requirements by focusing on
innovative ideas. This tool can be used to share information and collaborate with team
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
48/73
40
members. Another tool, Affinity Diagram, can be of a great value to sort out
specifications and to build a group of common ideas. Once groups are made, it helps
companies think creatively and work collaboratively. In sum, it helps analyze customer
requirements, categorize critical issues, and manage opinions. QFD Capture Professional
Edition is one support tool that facilitates a process of decision making. It can set
matrices, a roadmap of lists, and documents for each software project. QFD Capture also
encloses a tool for engendering customer surveys, creating features for web page
publishing, and producing maps for market opportunity, identifying product
developments best opportunitiesand even creating a relationship tree diagram. The first
invented Windows application for QFD is QFD Designer. It includes a variety of
templates, including customer segment analysis, strategic planning, House of Quality,
failure analysis, and Voice of the Customer tables (Kivinen, 2008). Figure 6 shows a
sample list of possible causes of problems that was accumulated by using the
Brainstorming Tool. Since the causes and problems are determined based on the
customers feedback, it can be easier to figure out the errors in different phases of a
process compared to the expectations set by customers. This way, the system
development can be better as well as can satisfy the customers by fulfilling their
requirements in terms of product design and development.
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
49/73
41
Figure 6. PathMaker brainstorm tool. Brainstorm Tool, Skymark, 2014.
Retrieved from http://www.skymark.com/pathmaker/tour/consbldr.asp
QFD methodology entails quality thinking. Due to its depth and breadth, it is
flexible, yet it may not be suitable for all companies. Indeed, it needs to be custom-
tailored. Companies must take the time to understand the methods and meaning of QFD,
then it would be possible to collect and record the outcomes of the QFD process
efficiently. However, PathMaker and other associated tools can be used to better define
and run QFD methodology. It ensures proactive product design and development rather
than a reactive one. With the help of these tools, organizations can ensure better
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
50/73
42
execution of customer requirements while designing and developing products that can
eliminate future correction due to not meeting customer requirements (Kivinen, 2008).
QFD as a Method to Help Project Management
Dramatic economic changes, as well as globalization, have emerged amidst
intense competition. To survive, an organization needs to satisfy customers. To do that,
it must have effective strategic planning to lead successful project management.
Organizations are now using QFD Framework to gather and incorporate systematically
their customersrequirements and develop products (Ictenbas & Eryilmaz, 2011).
According to Project Management Institute, application of skills, knowledge, and
techniques to carry out projects in an effective and efficient manner is known as Project
Management (Project Management Institute, n.d.). Project Management is considered
effective when work is done within budget and on time, but customer expectations are
met accordingly (Kivinen, 2008). To survive and gain a competitive advantage, it is
important to have good strategic planning. Analysis, decisions, and actions are part of
strategic planning and are essential to lead a project successfully. House of Quality,
Waterfall Model, and Agile Method can be used as tools as part of QFD. The goal is to
help the organization listen to the Voice of the Customers, accumulate data in a
structured way, incorporate new requirements into the production process, and measure
the end product with the customer information gathered. Since QFD can help an
organization prioritize requirements and make effective decisions, it is a helpful strategic
planning tool. QFD methodology equips organizations to use their skills, knowledge, and
techniques to serve customers with the products they desire. A product is desired by
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
51/73
43
customers when it is made with quality and has all the attributes customers want. QFD is
a tool project managers can successfully use to complete their jobs. Ideally, QFD is such
a tool that guarantees effective project management by ensuring successful strategic
planning (Ictenbas & Eryilmaz, 2011).
Importance of QFD in Improving Software Quality
Due to intense competition, maintaining quality software is vital. Though a
significant technological advancement has taken place, software developers face
problems due to incorrect and incomplete processes of identifying customer
requirements. Over time, many models have been introduced to overcome this problem,
and QFD has been considered one of the most effective tools to do that for small-scale
projects. This tool can improve software quality by capturing the voices of the customers
and incorporating those into the design and development of the software, ensuring
customer satisfaction too (Sener & Karsak, 2010).
QFD is a great technique for systematically identifying customer requirements
and prioritizing them to serve the customers with the most deserving products. By
incorporating QFD technique, organizations can design and develop an effective software
development process that ensures improved quality software. In this process,
requirements are collected from customers. After collecting specifications,
documentation is made and sent to customers for review. Once requirements are noted,
validation is done to verify consistency and completion and confirm that the specification
is internally consistent and consistent with the customersintention. Thus, QFD
methodology helps a software company define requirements, incorporate them with
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
52/73
44
product and process, measure quality attributes, and evaluate quality. The main goal of
doing is to improve software product quality.
QFD methodology also uses the Kano model to comprehend the relating value for
a specific software product so that the desired quality can be maintained and improved
(Kivinen, 2008). Customer requirements can be defined in three forms in this case:
specification (why it is wanted by the customers), exploration (what is needed to develop
a good quality software), and design (how to develop a good quality software) (Okonta et
al., 2013).
Requirements are considered to be the basis of the software development life
cycle or process. They provide the foundation for determining cost and schedules for
developing a software product. Therefore, financial as well as functional success is
directly connected to the quality of the specifications. Many surveys have shown that
incorrect requirement specifications are the most costly mistakes to repair. The later
mistakes are found, the more expensive they become to fix. Fixing an error in
maintenance stage requires 200 times more costs than during requirements analysis stage.
The extraction of specifications aspires to discover, eloquent, disclose, and understand
the dilemma to be solved. The most significant and used means of obtaining
requirements is to consult or observe customers and stakeholders (Kivinen, 2008).
The key roles of QFD for any software development process is analyzing
customer requirements, managing quality, and developing final products successfully.
SQFD refers to the transformation of QFD technology from manufacturing product to
software development. SQFD was first initiated as an effort to improve software quality,
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
53/73
45
used as a competitive advantage for organizations since it ensures quality of the software
based on customer requirements identified by using a matrix, such as House of Quality
(Sener & Karsak, 2010).
Finally, QFD is a widespread tool intended to serve customers with desired
products to satisfy them. A cross-functional team can design the QFD tool and ensure an
interdepartmental communication happens throughout the organization so that all
departments have the same quality focus. By developing quality tables by using the QFD
tool, improved quality can be ensured at each stage of software design and development.
Customer satisfaction can also be achieved this way since a good quality end product can
be delivered to customers (Uppalanchi, 2010). The following analysis will show how
important different concepts of QFD methodology are to improve software quality.
Improving Software Quality by Listening to the VOC
Voice of the Customer (VOC) is considered the concept that depicts the stated or
unstated needs of customers. Those stated or unstated requirements can be captured in
different ways, such as surveys, interviews or direct discussion, observation, focus
groups, customer specifications, field reports, warranty data, or any kind of social media
interaction (Okonta et al., 2013). Focus groups and interviews are considered as the
primary methods of capturing requirements from customers (Uppalanchi, 2010). From
captured requirements, a summary is made in a matrix of product planning, such as
House of Quality (HOQ). This matrix interprets WHATS(higher level) intoHOW(lower
level) requirements of products so that needs can be satisfied as well as improved quality
can be ensured (Okonta et al., 2013). In Table 2, a mock Voice of the Customer Table
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
54/73
46
(VOCT) has been developed to give a better idea about how VOC can help improve
software quality.
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
55/73
47
Table 2
5W1H Voice of the Customer Table Software Customers
Customer
Information
Voice of the
Customer
Context of Application
WHO WHAT WHERE WHEN WHY HOW
Software
Specialists
with
Software
Knowledge
I want quality
products as
per the
requirements,
expectations
set.
Software
Manager/
Software
Analysts
Quality
Products
At Their
Own
Premises
When
Used
Have
Knowledge
of Software
Manual/
Automated
General
Users with
No Software
Knowledge
I want quality
products in
lower price,
within next 2days, without
any defect,
lifetime
warranty,
exchange or
return option,
everything
that software
might have.
Business
man &
Writers
Everything
At Their
Own
Premises
Before
During
and
After
Use
Doesn't
Have
Knowledge
of Software
Manual
All-Time
Unhappy/
Dissatisfied
Customers
Though I
have my
product with
the desiredfeatures at a
good price, I
am not happy
with the time
you have
taken. It is not
an
extraordinary
service
experience, so
I am not
going to
spread
positive wordof mouth or
refer your
company to
others.
Anyone,
Such As
Business
man,
Software
Specialist
average
People
Everything
But Not
Contempt
In Spite Of
Getting
That
At Their
Own
Premises
24/7
Doesn't
Matter If
Has
Knowledge
Of
Software
Or Not.
Manual/
Automated
Note. Red: Explicit;Blue: Inferred
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
56/73
48
Customers usually evaluate a software product based on its outcome or influence.
Voice of the Customer is considered to be a significant facet of QFD methodology to
assess software against determined customer requirements. To do this, current and
potential (from current and new market) customers may be interviewed and invited to
raise their voice. This way, organizations can correct and improve their products.
Ideally, capturing the Voice of the Customers lets organizations identify requirements
and incorporate those with product design and development. When customer
consequences are incorporated with a product, its outcome or influence seems to be of
good quality to their customers. On the other hand, even after delivering the software
product to customers, it is possible to evaluate product acceptance and make
improvement of areas demanded by the customers. SERVQUAL is one kind of quality
tool that evaluates software quality based on five aspects (RATER-reliability, assurance,
tangibles, empathy, and responsiveness). Organizations then can improve their quality
before and after delivery of the product (Uppalanchi, 2010).
QFD is a great tool to discover unspoken specifications of customers before
customers disclose those to competitors. Once verification and prioritization are done, a
competitive solution can be quantified that ensures software quality throughout the
process of design and development. This entire process can be successful by using table
or log of gemba visit, customer voice table, customer process model, hierarchy and
affinity diagram, and process of analytic hierarchy. However, listening to the Voice of
the Customers and using data accordingly is not an easy task. To get the optimum output,
some issues need to be emphasized. First of all, the target market needs to be identified
-
8/11/2019 INTEGRATING QUALITY FUNCTION DEPLOYMENT TO IMPROVE SOFTWARE QUALITY BY RESPONDING TO CUSTOMER
57/73
49
as well as the customers. After that, a proper plan needs to be developed to capture
customersneeds. Then appropriate mechanisms need to be designed to collect and
organize the information. Finally, schedule and resources need to be determined to
capture the Voice of the Customers. There can be multiple voices of customers within
the same organization, such as children versus parents. Organizations pay great attention
to those diversified opinions that compel them to be more quality focused to keep their
customers. The voice of the competitors customers can also be a great source to know
about othersstrengths to achieve competitive advantage and ensure good quality.
Though the success of these techniques depends on the relationship between the
customers and the organization, but if these steps are followed properly, the approach
may be successful (Yilmaz, 2009).
Improving Software Quality by Using House of Quality
One of the four matrices of QFD includes a product-planning matrix also known
as the House of Quality (HOQ). HOQ is a widely used matrix that transforms
requirements of customers into technical traits. The objective of this matrix is to
establish the target point of technical attributes so that customer satisfaction can be
maximized (Sener & Karsak, 2010). It uses the planning matrix to create a relation
between what the customers want and how the organization would meet those
requirements (Yilmaz, 2009). Usually the HOQ consists of six components: customer
requirements, technical requirements, competitive assessment, relationship matrix,
correlation matrix, and technical priorities section respectively (Ictenbas & Eryilmaz,