Six Sigma Quality Resources for Achieving Six Sigma Results
Online Training from BMG University Air Academy Six Sigma Certifications from Villanova University Click To Learn More About PremiumLinks
 Home > Tools & Templates  > Quality Function Deployment (QFD) Search:
 
 for    
Publications
Marketplace
| iSixSigma
Stuff
| iSixSigma
Blogosphere
| Events
Calendar
| The
Dictionary
| Discussion
Forum
| Find
a Job
| Post
a Job
| Industry
News
| Newsletter
Signup
| Sigma
Calculator
| Online
Surveys
2008 Version! DMAIC Training Slides: 1,176 Slides + Instructor Notes and More for $99.95
iSixSigma Magazine Signup
 iSixSigma Live!  
  iSixSigma Live! Summit
  Agenda
  Registration Info
  Breakthrough Awards
 Free Newsletters!  
  Sign Up Now!
  Manage Subscriptions
  New To Six Sigma?
  Six Sigma Q&A
  Cert. Practice Test
  Problem Solving Wizard
  ISSSP Info
ISSSP Is The Official Six Sigma Society of iSixSigma
 Channels 
  Europe
  Financial Services
  Healthcare
  Military
  Software / IT
 Quality Directory 
  Best Practices
  Certifications/Awards
  Consultants
  Culture Evolution
  Methodologies
  News & Events
  Organizations
  Product/Service Guides
  Statistics & Analysis
  Tools & Templates
   DOE
   FMEA
   Glossary
   Histogram
   Pareto
   Poka Yoke
   SIPOC
   Software
  Voice of the Customer
  Free Whitepapers
 Related Topics 
  Innovation
  Outsourcing/Offshoring
  Business Process Mgt
 Quick Access 
  Help
  Search
  Advertise Here
  Article Archives
  Newsletter Archives
 User Feedback 
  Please suggest site
  improvements.
 
  [ larger form ]

Software Quality Function Deployment
Modifying the "House Of Quality" for Software

Bookmark This Page Bookmark This Page
Email This Page Email This Page
Format for Printing Format for Printing
Cite This Article Cite This Article
Submit an Article Submit an Article
Six Sigma Article Archive Read More Articles
Related Tools & Articles
  • Discussion Forum
    "Has anyone had success using QFD to cascade business requirements into coding. If so, what were your QFD phases (i.e. product, part, manufacturing)?"

    Software QFD
    By D
    Download Products
    an Zrymiak ASQ-CQMgr, CSQE, CQE, CQA

    Quality Function Deployment (QFD) is a process used to determine product development characteristics that combine technical requirements with customer preferences. Using an integrated matrix known as the "House of Quality", QFD considers the different influences bearing on the design to promote concurrent engineering, resulting in increased product acceptance. The basic QFD methodology can also be utilized with common software quality considerations to create a hybrid software requirements elicitation model. This is consistent with "Design for Six Sigma" practices and can be applied in a high-reliability context compliant with ISO 9001, Capability Maturity Models, and other software industry standards.

    Quality Function Deployment is the process used in product design to identify the priorities for customer needs and expectations and to transfer these priorities into the technical design of the product. The benefits of such an approach include such deliverables as increased coverage of explicit and implicit requirements; improved acceptance of product; establishment of priority product characteristics to support design, development, and testing; and increased efficiency of product development. This is particularly important if the organization has to follow a protocol like Six Sigma or a controlled design methodology as mandated in ISO 9001:2000 and its derivative standards.

    Quality Function Deployment uses the "House of Quality" as a visual model. The House of Quality is a matrix that aligns the Customer Needs (Business Priorities), the Design Features (Technical Priorities), and the Customer Preferences. The factor of these inputs is represented in the Benchmarked Target Values. From these Target Values, the product designers can establish objective metrics to indicate acceptance and fulfillment.

     Figure 1: Software Quality Function Deployment
    Software Quality Function Deployment

    The intent of this article is to apply this model to software design. Software design presents interesting challenges for several reasons. Software is an intangible product that is not always conducive to explicit acceptance measures. Design elements are coupled and interdependent, which is different from physical designs that can be deconstructed into independent but functional sub-assemblies, parts, and components. Software is not so easily divisible, creating additional design challenges.

    For the purpose of elaboration, the Software House of Quality will address the considerations involved in the design of Internet Banking Software. This is a general product with readily available industry metrics and a wide range of deployment options. By no means is this model exclusive to Internet Banking Software; like QFD, it is intended to be applicable to any domain.

    The first modification needed to make QFD applicable to software is the establishment of relevant and tangible customer needs. As a starting point, a recommended reference is the ISO 9126 standard (ISO/IEC 9126: Information Technology - Software Product Evaluation - Quality characteristics and guidelines for their use - 1991). This reference defines a model for evaluating software. The reference for this information was available on the Internet at www.cse.dcu.ie/essiscope/sm2/9126ref.html

    The foundation of this ISO 9126 standard is structured along six primary product characteristics:

    1. Functionality: Are the required functions available in the software?
    2. Reliability: How reliable is the software?
    3. Usability: Is the software easy to use?
    4. Efficiency: How efficient is the software?
    5. Maintainability: How easy is it to modify the software?
    6. Portability: How easy is it to transfer the software to another environment?

    These six items are sufficient for a high-level design, but for the determination of specific technical requirements, the user needs to apply the sub-characteristics. In this article, the issues pertaining to Internet Banking will be applied to each sub-characteristic.

    Characteristic

    Sub-characteristic

    Definition

    Applicability to Internet Banking

    Functionality

    Suitability

    Attributes of software that bear on the presence and appropriateness of a set of functions for specified tasks.

    The software can transact deposits, withdrawals, transfers, and bill payments.

    Functionality

    Accurateness

    Attributes of software that bear on the provision of right or agreed results or effects.

    The software can correctly calculate and display interest payments.

    Functionality

    Interoperability

    Attributes of software that bear on its ability to interact with specified systems.

    The software can work on client PCs using different Windows operating systems.

    Functionality

    Compliance

    Attributes of software that make the software adhere to application related standards or conventions or regulations in laws and similar prescriptions.

    The software can forward transaction information to the appropriate clearinghouse for reconciliation.

    Functionality

    Security

    Attributes of software that bear on its ability to prevent unauthorized access, whether accidental or deliberate, to programs or data.

    The software can secure customer information according to established protocols.

    Reliability

    Maturity

    Attributes of software that bear on the frequency of failure by faults in the software

    The software can complete the entire transaction cycle without runtime errors.

    Reliability

    Fault Tolerance

    Attributes of software that bear on its ability to maintain a specified level of performance in case of software faults or of infringement of its specified interface.

    The software continues to operate if data is missing or incorrectly interpreted, without a critical failure event.

    Reliability

    Recoverability

    Attributes of software that bear on the capability to re-establish its level of performance and recover the data directly affected in case of a failure and on the time and effort needed for it.

    The software can resume a partially completed loan application after disconnect from a power outage.

    Usability

    Understandability

    Attributes of software that bear on the users’ effort for recognizing the logical concept and its applicability.

    Software allows customer to use product independently after participating in 20-minute online tutorial.

    Usability

    Learnability

    Attributes of software that bear on the users’ effort for learning its application.

    Software provides tips or assistance to continually extend exposure to product functions.

    Usability

    Operability

    Attributes of software that bear on the users’ effort for operation and operation control.

    Software can provide users with ability to configure privilege setting to restrict functions (i.e. so teenage children can’t withdraw family savings to purchase a sports car).

    Efficiency

    Time Behavior

    Attributes of software that bear on response and processing times and on throughput rates in performance and function.

    Software can complete a withdrawal or deposit transaction within 3 minutes from origination to confirmation.

    Efficiency

    Resource Behavior

    Attributes of software that bear on the amount of resource used and the duration of such use in performing its function.

    Software can be used in client system with less than 5% available memory without disruption of other processes or operations.

    Maintainability

    Analyzability

    Attributes of software that bear on the effort needed for diagnosis of deficiencies or causes of failures, or for identification of parts to be modified.

    Software malfunctions by incorrectly calculating year-end totals resulting in integrity errors. Software should reveal how calculations occurred, dependencies, and effects.

    Maintainability

    Changeability

    Attributes of software that bear on the effort needed for modification, fault removal or for environmental change.

    Software can take on international banking functions (i.e. offshore accounts with different tax requirements).

    Maintainability

    Stability

    Attributes of software that bear on the risk of unexpected effect of modifications.

    Software can be adapted to work with wireless devices, but smaller screen size changes display characteristics.

    Maintainability

    Testability

    Attributes of software that bear on the effort needed for validating the modified software.

    Software can be tested to ensure sustained functionality under conditions of load and stress.

    Portability

    Adaptability

    Attributes of software that bear on the opportunity for its adaptation to different specified environments without applying other actions or means than those provided for this purpose for the software considered.

    Software can work in conjunction with third party applications for Check Ordering, Bill Payments, Loan Decisioning, and Data Aggregation.

     

    Installability

    Attributes of software that bear on the effort needed to install the software in a specified environment.

    Software can be installed as part of an embedded system or as a stand-alone application.

     

    Conformance

    Attributes of software that make the software adhere to standards or conventions relating to portability.

    Software permits health insurance transactions in a manner that complies with Health Information Portability and Accountability Act (HIPAA).

     

    Replaceability

    Attributes of software that bear on opportunity and effort using it in the place of specified other software in the environment of that software.

    Software can effectively replace the legacy systems installed on mainframe computers 20 years ago without disrupting operations.

    Having established explicit Customer Needs for consideration, the next step is to identify design features. Software takes on a broad range of design approaches. It is beyond the scope of this article to address the choices of Software Architecture and Object-Oriented Design, or to compare the relative merits of different software development life cycles and their impact on determining product requirements.

    In the context of this article, design features relate to those choices that aid in determining product acceptance standards and provide a basis for software testing, verification and validation. An excellent resource is Lessons Learned in Software Testing: A Context Driven Approach (C.Kaner, J.Bach, B.Pettichord 2001), which provides a portfolio of testing techniques. Since Quality Function Deployment is based on the premise of "Design for Acceptance", it is consistent with this approach to use evaluation methods as design criteria.

    Category

    Design Feature Considerations

    Definition

    Relation to Internet Banking

    People-Based

    User

    Product design for user profile.

    Software can be used by adult with minimal prior computer training and 8th grade reading level.

    People-Based

    Subject-Matter Expert

    Product design for consistency with expert opinion.

    Software aligns with deliverable for personal service representative.

    People-Based

    Designer

    Reflection of product

    Software provides configurability with is competitive trait of software provider.

    People-Based

    Customer

    Reflection of customer preferences beyond product.

    Internet banking software projects stability and trustworthiness of established financial institution.

    Coverage-Based

    Functionality

    Individual independent tasks performed by the product.

    Select a deposit account for depositing money.

    Coverage-Based

    Integrated Functions

    Combined tasks necessary to complete a transaction or other function.

    Select a deposit account, deposit the money, confirm the deposit, and print out the confirmation.

    Coverage-Based

    Menu

    User interface display permitting access to features.

    Menu permits access to different features without having to manually enter URL address.

    Coverage-Based

    Domain

    Coverage of specific information.

    Internet Banking information provides user with details of transaction types.

    Coverage-Based

    Equivalence Classes

    Determination of inputs generating a consistent product behavior.

    Customers with good track record for Bill Payments (no defaults) are offered superior credit terms.

    Coverage-Based

    Boundaries

    Parameters where product behavior is altered.

    Customers 65 years of age or older can apply for Senior Benefits.

    Coverage-Based

    Logic

    Sequence of actions following a consistent pattern.

    Banking Software qualifies customer by their Net Worth prior to providing opportunities to borrow money.

    Coverage-Based

    State-Based

    Use conditions indicating different function availability or product behavior.

    Transactions are denoted by Secured State, identified by different background and access to different functions.

    Coverage-Based

    Configuration

    Ability for product to work in different intended operating environments.