Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Quality Software


Published on

Published in: Business, Technology
  • This is very helpful. Thanks Marius!!
    Are you sure you want to  Yes  No
    Your message goes here

Quality Software

  1. 1. QUALITY SOFTWARE Marius Ghetie, PhD guest speaker MIS, Sauder School of Business UBC, Feb 9, 2012
  2. 2. Plan <ul><li>Introduction </li></ul><ul><li>Quality </li></ul><ul><li>Software Quality </li></ul><ul><li>Quality Costs </li></ul><ul><li>Quality Management System </li></ul><ul><li>Quality Assurance Activities </li></ul><ul><li>Conclusion </li></ul><ul><li>Questions & Answers </li></ul>
  3. 3. Introduction <ul><li>Software Quality </li></ul><ul><ul><li>a critical attribute of software products and services </li></ul></ul><ul><ul><li>a competitive issue </li></ul></ul><ul><ul><li>a main differentiator </li></ul></ul><ul><ul><ul><li>product quality </li></ul></ul></ul><ul><ul><ul><li>support quality </li></ul></ul></ul><ul><li>Quality Software </li></ul><ul><ul><li>building and evaluating it is a major problem </li></ul></ul>
  4. 4. Requirements -> Process -> Product <ul><li>Product Quality </li></ul><ul><ul><li>depends on both </li></ul></ul><ul><ul><ul><ul><li>Process quality </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Requirements quality </li></ul></ul></ul></ul><ul><ul><li>can be evaluated but </li></ul></ul><ul><ul><li>cannot be achieved by assessing (“QA-ing” and “testing”) the completed product </li></ul></ul><ul><ul><li>can only be “built in” during the Software Development Process </li></ul></ul>
  5. 5. Build Quality into the Product <ul><li>Quality Quality Quality Requirements -> Process -> Product </li></ul><ul><li>Quality Management System (QMS) </li></ul><ul><ul><ul><li>address both </li></ul></ul></ul><ul><ul><ul><ul><li>management </li></ul></ul></ul></ul><ul><ul><ul><ul><li>technical activities </li></ul></ul></ul></ul><ul><li>Main Goal </li></ul><ul><ul><li>how well quality can be built into a product </li></ul></ul><ul><ul><li>not how well we can evaluate product quality </li></ul></ul>
  6. 6. Plan <ul><li>Introduction </li></ul><ul><li>Quality </li></ul><ul><li>Software Quality </li></ul><ul><li>Quality Costs </li></ul><ul><li>Quality Management System </li></ul><ul><li>Quality Assurance Activities </li></ul><ul><li>Conclusion </li></ul><ul><li>Questions & Answers </li></ul>
  7. 7. What is Quality? <ul><li>difficult to define, explain, quantify… </li></ul><ul><li>means different things to different people </li></ul><ul><ul><li>Quality Experts </li></ul></ul><ul><ul><li>Customers </li></ul></ul><ul><ul><li>Producers </li></ul></ul><ul><li>QM Problem [Crosby] </li></ul><ul><ul><ul><li>“ Is not what people don't know about it. </li></ul></ul></ul><ul><ul><ul><li>Is what they think they do know…” </li></ul></ul></ul>
  8. 8. Quality Quotations <ul><li>Aristotle </li></ul><ul><ul><li>“ Quality is not an act, it is a habit.” </li></ul></ul><ul><li>John Ruskin </li></ul><ul><ul><li>“ Quality is never an accident; it is always the result of intelligent effort.” </li></ul></ul><ul><li>Henry Ford </li></ul><ul><ul><li>“ Quality means doing it right when no one is looking.” </li></ul></ul>
  9. 9. The Elusive Nature of Quality <ul><li>Need to </li></ul><ul><ul><li>increase general knowledge about quality </li></ul></ul><ul><ul><li>qualify and quantify in order to evaluate and control </li></ul></ul><ul><ul><li>clarify confusing ideas, myths, and fallacies </li></ul></ul><ul><li>Use a QM Framework to </li></ul><ul><ul><li>define basic principles and concepts for achieving Quality objectives </li></ul></ul><ul><ul><li>create and promote a Quality culture </li></ul></ul>
  10. 10. Plan <ul><li>Introduction </li></ul><ul><li>Quality </li></ul><ul><li>Software Quality </li></ul><ul><li>Quality Costs </li></ul><ul><li>Quality Management System </li></ul><ul><li>Quality Assurance Activities </li></ul><ul><li>Conclusion </li></ul><ul><li>Questions & Answers </li></ul>
  11. 11. Managing Quality – [Garvin] <ul><li>“ If quality is to be managed, it must first be understood.“ </li></ul><ul><li>“ Most companies talk a good deal about quality. But they often misinterpret what their customers need. In fact, when customers are talking about quality, they are talking about something very precise.” </li></ul>
  12. 12. Definitions of Quality – [Garvin] <ul><li>Five Perspectives </li></ul><ul><ul><li>transcendent </li></ul></ul><ul><ul><ul><li>‘ innate excellence’, recognizable but hard to define </li></ul></ul></ul><ul><ul><li>manufacturing-based </li></ul></ul><ul><ul><ul><li>‘ free from errors’ , ‘conformance to requirements’ </li></ul></ul></ul><ul><ul><li>user-based </li></ul></ul><ul><ul><ul><li>‘ fitness for purpose’ </li></ul></ul></ul><ul><ul><li>product-based </li></ul></ul><ul><ul><ul><li>‘ a measurable set of characteristics’ </li></ul></ul></ul><ul><ul><li>value-based </li></ul></ul><ul><ul><ul><li>cost and price </li></ul></ul></ul>
  13. 13. Definitions of Quality – [Garvin] <ul><li>Main Source of Problems </li></ul><ul><ul><li>reliance on a single definition of quality </li></ul></ul><ul><li>Use ≠ Approaches in ≠ SDLC Phases </li></ul><ul><ul><li>Requirements </li></ul></ul><ul><ul><ul><li>user-based perspective in mind </li></ul></ul></ul><ul><ul><li>Design </li></ul></ul><ul><ul><ul><li>product-based view </li></ul></ul></ul><ul><ul><li>Development </li></ul></ul><ul><ul><ul><li>manufacturing-based view </li></ul></ul></ul>
  14. 14. Eight Dimensions of Quality - [Garvin] <ul><li>Cover meanings for all stakeholders </li></ul><ul><ul><ul><li>features </li></ul></ul></ul><ul><ul><ul><li>reliability </li></ul></ul></ul><ul><ul><ul><li>performance </li></ul></ul></ul><ul><ul><ul><li>conformance </li></ul></ul></ul><ul><ul><ul><li>durability </li></ul></ul></ul><ul><ul><ul><li>serviceability </li></ul></ul></ul><ul><ul><ul><li>aesthetics </li></ul></ul></ul><ul><ul><ul><li>perceived quality </li></ul></ul></ul>
  15. 15. QM Framework – [Baker] <ul><li>definitions and concepts for quality </li></ul><ul><li>foundation for the Quality Program </li></ul><ul><ul><li>quality </li></ul></ul><ul><ul><li>product </li></ul></ul><ul><ul><li>process </li></ul></ul><ul><ul><li>requirements </li></ul></ul><ul><ul><li>evaluation </li></ul></ul><ul><ul><li>etc. </li></ul></ul>
  16. 16. Software Quality Definition <ul><li>User -> Requirements -> Producer ← Product ← </li></ul><ul><li>User and Producer have ≠ definitions </li></ul><ul><li>User’s perspective ultimately matters </li></ul><ul><li>Quality of a product or service is its ability to satisfy the needs and expectations of the customer. </li></ul>
  17. 17. Software Quality Definition – [Tian] <ul><li>User’s quality expectations for a software product/service </li></ul><ul><ul><li>Must do what is supposed to do “do the right things” = “fit for use” </li></ul></ul><ul><ul><li>Must perform correctly </li></ul></ul><ul><ul><li>“ do the things right” = “reliable” </li></ul></ul>
  18. 18. Quality is Everybody’s Business <ul><li>‘‘ affected by many, but effected by few.’’ </li></ul><ul><ul><li>Quality is an individual and team commitment. </li></ul></ul><ul><ul><li>Everyone working on a project affects the quality of the product in some way. </li></ul></ul><ul><ul><li>Only those producing the product actually build the quality into it. </li></ul></ul><ul><ul><li>The ultimate responsibility for the quality of the software product lies with management. </li></ul></ul>
  19. 19. Plan <ul><li>Introduction </li></ul><ul><li>Quality </li></ul><ul><li>Software Quality </li></ul><ul><li>Quality Costs </li></ul><ul><li>Quality Management System </li></ul><ul><li>Quality Assurance Activities </li></ul><ul><li>Conclusion </li></ul><ul><li>Questions & Answers </li></ul>
  20. 20. Quality Inspection – [Deming] <ul><li>Inspection and Cost </li></ul><ul><ul><li>“ You can expect what you inspect.” </li></ul></ul><ul><ul><li>“ Inspection with the aim of finding the bad ones and throwing them out is too late, ineffective and costly.” </li></ul></ul><ul><ul><li>“ Quality comes not from inspection but improvement of the process.” </li></ul></ul>
  21. 21. Deming’s Philosophy <ul><li>summarized as a ratio RESULTS OF WORK EFFORTS QUALITY = ———————————————— TOTAL COSTS </li></ul><ul><li>focusing primarily on </li></ul><ul><ul><li>QUALITY </li></ul></ul><ul><ul><ul><li>quality – tends to increase and costs – fall over time </li></ul></ul></ul><ul><ul><li>COSTS </li></ul></ul><ul><ul><ul><li>costs – tend to rise and quality – declines over time </li></ul></ul></ul>
  22. 22. Meanings of “Quality Costs” - [Juran] <ul><ul><li>What means “quality improvement”? </li></ul></ul><ul><ul><li>Does higher quality cost more or less? </li></ul></ul><ul><li>“ quality costs” </li></ul><ul><ul><li>different meanings to different people. </li></ul></ul><ul><li>meanings </li></ul><ul><ul><li>costs of poor quality (mainly the costs of finding and correcting defects) </li></ul></ul><ul><ul><li>costs to attain quality </li></ul></ul><ul><ul><li>costs of running the Quality department </li></ul></ul>
  23. 23. Meanings of “Quality” – [Juran] <ul><li>confusion is inevitable </li></ul><ul><ul><li>one word for two different meanings </li></ul></ul><ul><li>“ features of products” (income oriented) </li></ul><ul><ul><li>Quality -> customer needs -> customer satisfaction </li></ul></ul><ul><ul><li>Higher Quality -> greater customer satisfaction -> more income </li></ul></ul><ul><ul><li>Higher Quality -> “COSTS MORE” </li></ul></ul><ul><li>“ freedom from deficiencies” </li></ul><ul><ul><li>no errors -> no complaints -> no rework </li></ul></ul><ul><ul><li>Higher Quality -> “COSTS LESS” </li></ul></ul>
  24. 24. Cost of Quality – [Juran] <ul><li>Cost of Poor Quality </li></ul><ul><ul><li>cost of not getting it right first time </li></ul></ul><ul><ul><li>all costs that disappear if there were no defects </li></ul></ul><ul><ul><ul><li>before sale , internal, add to producers’ costs </li></ul></ul></ul><ul><ul><ul><li>after sale , add to producers’ and customer’s costs </li></ul></ul></ul><ul><li>Failure Costs </li></ul><ul><ul><li>scrap, rework, corrective actions, warranty claims, customer complaints, loss of customers, lawsuits </li></ul></ul><ul><li>Appraisal Costs </li></ul><ul><ul><li>inspection, compliance auditing, investigations </li></ul></ul><ul><li>Prevention Costs </li></ul><ul><ul><li>training, preventive auditing, process improvement implementation </li></ul></ul>
  25. 25. Cost of Quality <ul><li>Feigenbaum </li></ul><ul><ul><li>concept of the “ hidden plant “ </li></ul></ul><ul><ul><ul><li>% of production capacity wasted through not getting it right first time </li></ul></ul></ul><ul><ul><li>quality as an investment </li></ul></ul><ul><li>Crosby </li></ul><ul><ul><li>the measurement of quality is the price of nonconformance </li></ul></ul>
  26. 26. Plan <ul><li>Introduction </li></ul><ul><li>Quality </li></ul><ul><li>Software Quality </li></ul><ul><li>Quality Costs </li></ul><ul><li>Quality Management System </li></ul><ul><li>Quality Assurance Activities </li></ul><ul><li>Conclusion </li></ul><ul><li>Questions & Answers </li></ul>
  27. 27. Need for a QMS – [Sommerville] <ul><li>PM has to maintain the project budget and schedule. </li></ul><ul><li>If problems arise, PM may be tempted to compromise on product quality so that the project meets the schedule. </li></ul><ul><li>An independent QM team ensures that the organizational goals of quality are not compromised by short-term budget and schedule considerations. </li></ul>
  28. 28. Project Management Triangle QUALITY SCOPE SCHEDULE COST
  29. 29. Quality Improvement Steps - [Crosby] <ul><li>Management committed to quality. </li></ul><ul><li>Quality Team with senior representatives from each department. </li></ul><ul><li>Measure processes to determine quality problems. </li></ul><ul><li>Evaluate cost of quality and use it as a management tool. </li></ul><ul><li>Raise the quality awareness. </li></ul><ul><li>Take actions to correct quality problems. </li></ul><ul><li>Establish progress monitoring for the improvement process. </li></ul><ul><li>… </li></ul><ul><li>14. … </li></ul>
  30. 30. QMS – Main Elements <ul><li>Organizational structure </li></ul><ul><li>Responsibilities </li></ul><ul><li>Processes </li></ul><ul><li>Methods and tools </li></ul><ul><li>Product Quality </li></ul><ul><li>Customer Satisfaction </li></ul><ul><li>Continuous process improvement </li></ul><ul><li>Resources </li></ul><ul><li>… </li></ul>
  31. 31. Structure and Responsibilities <ul><li>Executive Team </li></ul><ul><ul><li>commitment </li></ul></ul><ul><li>QMS Team </li></ul><ul><ul><li>not associated with any particular group </li></ul></ul><ul><ul><li>company wide responsibility for QM </li></ul></ul><ul><ul><li>responsibility to address identified problems </li></ul></ul><ul><ul><li>apply the resources to resolve quality issues </li></ul></ul><ul><li>QA Team </li></ul><ul><ul><li>QA Department, QA Team(s), TW Team(s) </li></ul></ul>
  32. 32. QA Team <ul><li>independent from the DEV team </li></ul><ul><li>internal or external </li></ul><ul><li>manage all QA efforts </li></ul><ul><li>has limited functional capability </li></ul><ul><ul><ul><li>QA functions can and must be performed by other groups, not only designated ones </li></ul></ul></ul><ul><li>evaluate product and process quality </li></ul><ul><li>objective view </li></ul><ul><li>audit and report to QM Team </li></ul><ul><li>assurance that quality goals are met </li></ul>
  33. 33. QMS Processes <ul><li>Three QM Processes [Juran] </li></ul><ul><ul><ul><li>QM Planning </li></ul></ul></ul><ul><ul><ul><li>QM Control </li></ul></ul></ul><ul><ul><ul><li>QM Improvement </li></ul></ul></ul><ul><li>The SDP Process </li></ul><ul><ul><ul><li>selection </li></ul></ul></ul><ul><ul><ul><li>assessment </li></ul></ul></ul><ul><ul><ul><li>improvement </li></ul></ul></ul><ul><li>Methods, Best Practices, and Tools </li></ul>
  34. 34. Plan <ul><li>Introduction </li></ul><ul><li>Quality </li></ul><ul><li>Software Quality </li></ul><ul><li>Quality Costs </li></ul><ul><li>Quality Management System </li></ul><ul><li>Quality Assurance Activities </li></ul><ul><li>Conclusion </li></ul><ul><li>Questions & Answers </li></ul>
  35. 35. QA Activities <ul><li>Requirements -> Process -> Product </li></ul><ul><ul><li>Quality Assurance </li></ul></ul><ul><ul><li>Quality Planning </li></ul></ul><ul><ul><li>Quality Control </li></ul></ul><ul><ul><li>Quality Auditing </li></ul></ul><ul><ul><li>Validation </li></ul></ul><ul><ul><li>Verification </li></ul></ul><ul><ul><li>Testing </li></ul></ul><ul><li>Their definitions and relationships and are often sources of confusion </li></ul>
  36. 36. Quality “Assurance” <ul><li>Assuring </li></ul><ul><li>an acceptable level of confidence that the software will conform to </li></ul><ul><ul><li>functional technical requirements </li></ul></ul><ul><ul><li>customer satisfaction (usability) </li></ul></ul><ul><ul><li>managerial scheduling </li></ul></ul><ul><ul><li>budgetary requirements </li></ul></ul>
  37. 37. SQA – [Sommerville] <ul><li>Quality Assurance (QA) </li></ul><ul><ul><li>The establishment of a framework of organizational procedures and standards that lead to high-quality software </li></ul></ul><ul><li>Quality Planning (QP) </li></ul><ul><ul><li>The selection of appropriate procedures and standards from this framework, adapted for a specific software project </li></ul></ul><ul><li>Quality Control (QC) </li></ul><ul><ul><li>The definition and enactment of processes that ensure the software development team have followed project quality procedures and standards </li></ul></ul>
  38. 38. SQA – [Pressman] <ul><li>Umbrella Activity </li></ul><ul><ul><li>applied throughout the software process </li></ul></ul><ul><li>Encompass </li></ul><ul><ul><li>Quality Management (QM) approach </li></ul></ul><ul><ul><li>effective SE technology (methods and tools) </li></ul></ul><ul><ul><li>technical reviews throughout the SDP </li></ul></ul><ul><ul><li>testing strategy </li></ul></ul><ul><ul><li>control software artifacts and changes </li></ul></ul><ul><ul><li>standard compliance (when applicable) </li></ul></ul><ul><ul><li>measurement, auditing, and reporting </li></ul></ul>
  39. 39. IEEE – SQA <ul><li>Product </li></ul><ul><ul><li>A planned and systematic pattern of all actions necessary to provide adequate confidence that an item or product conforms to established technical requirements. </li></ul></ul><ul><li>Process </li></ul><ul><ul><li>A set of activities designed to evaluate the process by which the products are developed or manufactured. </li></ul></ul>
  40. 40. Quality Control – [Pressman] <ul><li>Inspections, reviews, and tests used throughout the SDP to ensure that the product meets defined and measurable specifications. </li></ul><ul><li>A feedback loop to the process that created the product. </li></ul><ul><li>Tune the process when the product fails to meet specifications. </li></ul><ul><li>QC activities may be fully automated, entirely manual, or a combination of both. </li></ul>
  41. 41. QC vs. QA – [Lewis] <ul><li>Quality Control </li></ul><ul><ul><li>designed to detect and correct defects </li></ul></ul><ul><li>Quality Assurance </li></ul><ul><ul><li>oriented towards preventing defects </li></ul></ul>
  42. 42. Verification and Validation <ul><li>Two different types of analysis </li></ul><ul><li>Validation </li></ul><ul><ul><li>Are we building the correct system? </li></ul></ul><ul><li>Verification </li></ul><ul><ul><li>Are we building the system correctly? </li></ul></ul>
  43. 43. Software Testing <ul><li>execution-based QA activity part of QC </li></ul><ul><li>a primary means to ensure quality </li></ul><ul><li>verify that requirements were met </li></ul><ul><li>preparation can be done in earlier cycles </li></ul><ul><li>manual and automated </li></ul><ul><li>consider automation investment, long-term higher-quality product, and reduced maintenance costs </li></ul><ul><li>actual testing requires the product </li></ul><ul><li>occurs too late to build quality into the product </li></ul><ul><li>testing is limited in scope </li></ul>
  44. 44. Plan <ul><li>Introduction </li></ul><ul><li>Quality </li></ul><ul><li>Software Quality </li></ul><ul><li>Quality Costs </li></ul><ul><li>Quality Management System </li></ul><ul><li>Quality Assurance Activities </li></ul><ul><li>Conclusion </li></ul><ul><li>Questions & Answers </li></ul>
  45. 45. Conclusion <ul><li>Understand what is quality and software quality and how they can be achieved </li></ul><ul><li>How much quality costs </li></ul><ul><li>What is a Quality Management System </li></ul><ul><li>How to set it up </li></ul><ul><li>Defined main QA Activities </li></ul><ul><li>Primary goal: build quality in, build Quality Software </li></ul>
  46. 46. Plan <ul><li>Introduction </li></ul><ul><li>Quality </li></ul><ul><li>Software Quality </li></ul><ul><li>Quality Costs </li></ul><ul><li>Quality Management System </li></ul><ul><li>Conclusion </li></ul><ul><li>Quality Assurance Activities </li></ul><ul><li>Questions & Answers </li></ul>
  47. 47. Bibliography <ul><li>Baker, E.R.; Fisher, M.J, &quot;Basic Principles and Concepts for Achieving Quality&quot; </li></ul><ul><li>Flower, J., &quot;Managing Quality: a discussion with David Garvin&quot; </li></ul><ul><li>Galin, D., &quot;Software quality assurance: from theory to implementation&quot; </li></ul><ul><li>Garvin, D.A, &quot;What Does “Product Quality” Really Mean?&quot; </li></ul><ul><li>Juran, J.M.; Godfrey, A.B, &quot;Juran's Quality Handbook&quot; </li></ul><ul><li>Lewis, W.E., &quot;Software Testing and Continuous Quality Improvement&quot;, 2nd Edition </li></ul><ul><li>Pressman, R.S, &quot;Software Engineering: A Practitioner's Approach&quot;, 5th Edition </li></ul><ul><li>Sanders, J.; Curran, E., &quot;Software Quality: A Framework for Success in Software Development and Support&quot; </li></ul><ul><li>Schulmeyer, G.G., Editor, “Handbook of Software Quality Assurance&quot;, 4th Edition </li></ul><ul><li>Sommerville, I., &quot;Software Engineering&quot;, 8th Edition </li></ul><ul><li>Tian, J., &quot;Software quality engineering: testing, quality assurance, and quantifiable improvement&quot; </li></ul><ul><li> </li></ul><ul><li> </li></ul>