integrating quality function deployment to improve software quality by responding to customer needs

Upload: izbat87

Post on 02-Jun-2018

224 views

Category:

Documents


0 download

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,