1 / 52

SMU CSE 8314 Software Measurement and Quality Engineering

SMU CSE 8314 Software Measurement and Quality Engineering. Module 01 Overview of Software Quality Engineering. Why is There So Much Ineffective Product Development?. Organizations focus on cost or schedule ... … instead of looking at the big picture

garran
Download Presentation

SMU CSE 8314 Software Measurement and Quality Engineering

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SMU CSE 8314 Software Measurement and Quality Engineering Module 01 Overview of Software Quality Engineering

  2. Why is There So Much Ineffective Product Development? • Organizations focus on cost or schedule ... … instead of looking at the big picture • Organizations don’t know how to produce high quality products • Organizations fail to see the benefits of using quality engineering techniques

  3. Pick Any Two Productivity Cycle Time Quality The “Zero-sum Game” Trap

  4. The Secret to Effective Product Development • Make the Process Efficient • Eliminate waste • Eliminate mistakes • This makes things faster, less costly, and higher in quality Avoid the mistake of seeing the problem as a zero sum game , such as: “to cut cost or save time you must reduce quality”; “to improve quality you must make the product more expensive.”

  5. Effective Quality Engineering is Fundamental to Productivity and Cycle Time Improvement Effective Product Development Productivity Cycle Time Quality

  6. Total Quality Management Total Cycle Time Productivity Enhancement Six Sigma Any Banner Will Do

  7. Defining Quality

  8. Concepts of Quality Webster defines quality as: 1) “that which makes something what it is" 2) “the degree of excellence” But is this what we mean for software? 1) “our software is what it is - that makes it a quality product" 2) “the more perfect the software the higher the quality”

  9. “That Which Makes it What it Is” • e.g. Purity of tone is a quality of music • But perhaps not in certain musical styles • What defines the quality of “hard rock” music? Is quality in the ear of the beholder? Is there a universally accepted characteristic of musical quality?

  10. “Degree of Excellence” • Which has higher quality: a Ferrari or a Toyota Corolla ??? • Which has more prestige? • Which costs less and leaves money for other expenses? • Which is more reliable? • Which weighs more?

  11. Concepts of Quality for Products “Quality is conformance to requirements” Crosby “Quality is fitness for intended use” Juran “Quality is value to someone” Weinberg

  12. “Quality isConformance to Requirements” • If testable requirements can be established, then it is possible to decide whether the product meets the criteria • Thus you can avoid disputes and have workable contractual relationships HOWEVER ...

  13. Issues with “Conformance to Requirements” - I • Who establishes the requirements? • Sponsor - The one who pays for the product • End User - The one who will use the product • Sales or Marketing - The one who will sell the product • Engineering - The ones who will design and build it

  14. Issues with “Conformance to Requirements” - II • Are the requirements right? • consistent • complete • correct • Who determines whether the requirements are right? • What if you discover a problem later on?

  15. Issues with “Conformance to Requirements” - III • What about implicit vs. explicit requirements? • E.g. coffee should be hot and flavorful • Implicit requirement: not poisonous • Furthermore, requirements change during the development process • Who makes and who controls the change? • Who pays for the consequences of change?

  16. “Quality is Fitness for Intended Use” • This definition is based on a fundamental concept of law - that a product should be fit for the use that it is intended for. • This definition accommodates the fact that we may not be able to fully define the requirements. HOWEVER ...

  17. Issues with “Fitness for Intended Use” - I • Who defines fitness? • Consider a TV set -- which fitness characteristics are not understood by • Typical User • Engineer • Sales Personnel • Consider a software program -- which fitness characteristics are not understood by the typical software developer?

  18. Issues with “Fitness for Intended Use” - II • Different users have different definitions of fitness • Ease of use for novices vs control of fine details for experts • VS. ease of maintenance for support staff • Uses change as users grow in experience • Too many “ease of use” and “automatic” features may frustrate an expert

  19. Issues with “Fitness for Intended Use” - III • The “pleasant surprise” concept • User gets more than he or she expected • “They really knew what they were doing” There is always a balance between the engineer knowing better than the customer and the customer knowing better than the engineer

  20. “Quality isValue to Someone” • This definition incorporates the idea that quality is relative • And it places increased emphasis on understanding what quality means to the intended user of the software HOWEVER ...

  21. Issues with “Value to Someone” • Whose opinion counts? • May need to weigh different opinions • May need to separate explicit from implicit views • Logic vs Emotion • “Glitz” v. “Substance” • What is it Worth? • Space Shuttle -- 0 defects • Video Game -- good user interface

  22. Definitions of Software Quality • IEEE: The degree to which the software possesses a desired combination of attributes • Crosby: The degree to which a customer perceives that software meets composite expectations Note that both definitions imply multiple expectations

  23. Software Quality Characteristics

  24. Summary of Quality Definition Issues • Define quality • You must define it to know if you have it • … and to engineer it into your product • Quality has multiple elements • It reflects a multitude of expectations • Quality is relative • Quality is in the eye of the customer • Quality encompasses fitness, value, and other attributes

  25. Question How does your organization define quality?

  26. Quality Engineering

  27. Quality Engineering Quality Assurance Quality Control 1916 1950’s today future The Evolution of Quality See Berger, Chapter 1, for further background

  28. Quality Control Preventing unacceptable products from being released to the customer • Emphasis is on finding defects and fixing them after the fact. “A regulatory process through which we measure actual quality performance, compare with standards, and act on differences.” Juran

  29. Fail Pass Development QC Inspection Requirements Quality Control Goal: Keep Quality at an Acceptable Level by Rejecting Unacceptable Products Standards of Quality

  30. My Brother Headrest Story - Part I:Independence Why go to college? I’ll get a job at an automobile assembly plant!

  31. Headrest Story - Part II:Employment I found a quality control job on the assembly line ... finding defective headrests.

  32. My Brother Headrest Story - Part III:Excitement The highlight of my day!!! They switched from red to blue! Rejects

  33. Headrest Story - Part IV: Quality Control Production rate is too low! You’re too picky! QC Manager These are substandard! Pay more attention to the criteria! Production Manager

  34. Headrest Story - Part V:“Discussion” Discussion (as used in automobile assembly lines): Verbal communication characterized by extensive use of profanity and threats of bodily harm. You’re a %#*@ *#&$% You!

  35. Headrest Story - Part VI:The Following Fall My Brother

  36. Problems with Quality Control • Does not reduce the number of defects • Does not improve the process • Does not result in better products • Does not motivate improvement • Results in adversarial relationships

  37. Quality Assurance Assuring Product Quality: “Building Quality In” • Providing evidence that the quality function is being performed adequately Juran • Quality assessment and measurement Fisher/Baker

  38. Quality Assurance “A planned and systematic pattern of all actions necessary to provide adequate confidence that the product conforms to established technical requirements” IEEE (George Tice)

  39. Software Quality Assurance A system of methods and procedures used to assure that the software product meets its requirements. Don Riefer • These methods and procedures include: • Planning, measuring and monitoring of all work performed by software engineers, software testers, etc.

  40. Process and Design Standards Fail Pass Development QC Inspection Requirements Standards of Quality Quality Assurance Looks at the Entire Process

  41. Quality Assurance is More Effective than Quality Control ... ... because the emphasis moves to the development process • You attempt to fix problems before and duringthe development process • You improve the processand therefore reduce the number of defects in a lasting manner

  42. But ... • Quality improvement is still separate from other process improvement and software development activities • Adversarial relationships are still there • quality assurance vs. software developers • validating and testing vs. design and coding • Motivation to improve is inconsistent • It costs more to have people monitoring people

  43. Quality Engineering • Similar to quality assurance, but the responsibility shifts to everyone on the team. • Quality is built into the development process. • Requirements, Design, Coding, Testing, etc. • This is a very professional and responsible approach to software development.

  44. The Philosophical Change in QE • Problems result in process changes, not punishment of people • Finding errors is good -- it keeps them from leaking through to the customer • Everyone appreciates that a competitive process is the way to remain a competitor • Measurements are used so that decisions are based on fact (in addition to intuition)

  45. Quality Engineering Requires a Cultural Change • Pride in quality in addition to pride in product features or performance • Professionalism rather than fear of criticism • Overcoming the fear of metrics • Seeing software development as much more than programming and design “We” rather than “They”

  46. Quality Engineering Approach • Build quality into the product as part of the development process • Measure quality • Understand quality • Improve quality • Engineer the wholeprocessfor improvements in quality, productivity and cycle time (“Process Engineering”) • A defined process is a must !!

  47. Elements of Quality Engineering • Understand process and its role • Define value and quality - and focus on adding both of these to the product • Manage process performance through programs such as six-sigma or zero defects or statistical process control • Analyze the cost of quality • Define and manage software reliability

  48. Benefits of the Quality Engineering Approach • Less adversarial • Motivation and information to improve • Flexibility to change the process in response to a problem • you understand the problem and its cause • you understand the consequences of a change in the process • Knowledge is the foundation of successful quality engineering

  49. Summary • Product development is not a “zero sum game” • Quality must be defined in terms of things that matter to customers • Quality engineering focuses on the whole process and involves the whole project team

  50. References • Berger, R. W., et. Al., The Certified Quality Engineer, ASQ Quality Press, 2006 (chapter 1) • Crosby, Philip B. Quality is Free, New York, McGraw-Hill, 1979. • Deming, W. Edwards, Out of the Crisis, MIT Press, 1986, ISBN: 0911379010 • Juran, J. M., Juran on Leadership for Quality: An Executive Handbook, The Free Press, 1989. • Juran, J. M. and Frank M. Gryna, Quality Planning and Analysis, McGraw-Hill. 1980.

More Related