Quality Software


Published on

Published in: Business, Technology
1 Comment
  • This is very helpful. Thanks Marius!!
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

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>http://www.qualitygurus.com/gurus/ </li></ul><ul><li>http://www.wikipedia.org/ </li></ul>