1 / 15

What is Software Quality?

What is Software Quality?. Popular View of Quality. Quality is an intangible trait. “I know it when I see it.” I.e., it is interpreted in different ways. Therefore, it cannot be controlled, managed, measured.

nedaa
Download Presentation

What is Software Quality?

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. What is Software Quality?

  2. Popular View of Quality • Quality is an intangible trait. • “I know it when I see it.” • I.e., it is interpreted in different ways. • Therefore, it cannot be controlled, managed, measured. • Often connotes luxury, class, and/or taste. (A Cadillac is a quality car and a Chevrolet is not.)

  3. Professional View of Quality • Crosby (1979) describes quality as “conformance to requirements”. • Nonconformances are defects – the absence of quality. • If a car conforms to all its requirements, it is a quality car regardless of whether it is a Cadillac or a Chevrolet. • Juran and Gryna (1970) describe it as “fitness for use”. • Takes customers’ requirements and expections into account.

  4. The Role of the Customer • From the Customer’s standpoint, quality is the perceived value of the product – price, performance, reliability, etc. • This implies the customer’s requirements and expectations must be fully understood. • In addition to adherence to requirements, customer satisfaction is the ultimate validation of quality.

  5. Big Q and Small q • The definition quality consists of two levels. • The intrinsic product quality – the product’s defect rate and reliability – “small q” • The broader view including product quality, process quality, and customer satisfaction – “big Q” • This forms a closed-loop cycle: customer wants and needs  requirements and specifications  products designed, developed and built according to the requirements with constant attention to process improvement  excellent product quality and support  total customer satisfaction.

  6. Software Quality • Narrow definition: lack of bugs in the product. • Broader definition: • Conformance to requirements: measured by defect rate and reliability • Customer satisfaction: measured by surveys • IBM monitors satisfaction in levels of CUPRIMDSO • HP focuses on FURPS

  7. Updated Definition of Quality • Software quality is conformance to customers’ requirements.

  8. Interrelationships of Software Quality Attributes

  9. Total Quality Management • Total Quality Management (TQM) was coined in 1985 by the Naval Air Systems Command to describe its approach to quality improvement. • It represents a style of management that links quality to customer satisfaction. • Examples include: • The Malcolm Baldrige National Quality Award (MBNQA) • ISO 9000 • HP’s Total Quality Control (TQC) • Motorola’s Six Sigma Strategy • IBM’s Market Driven Quality

  10. Total Quality Management (Cont’d) • Key elements of TQM • Customer focus • Process improvement • Human side of quality • Measurement and analysis • Organizational frameworks: • Plan-Do-Check-Act – Deming (1986) • Quality Improvement Paradigm/Experience Factory Organization – Basili (1985) • Software Engineering Institute (SEI) Capability Maturity Model (CMM) – Humphrey (1989) • Lean Enterprise Management – Womack (1990)

  11. Total Quality Management (Cont’d)

  12. Plan-Do-Check-Act • Based on a feedback cycle for optimizing a single process • Uses feedback loops and statistical quality control to experiment with methods for improvement and to build predictive models. • Based on assumption that a process is repeated multiple times so models can be built that allow predictions.

  13. Quality Improvement Paradigm/Experience Factory Organization • Aim is to continually improve the organization based on its evolving goals and an assessment of status relative to those goals. • The six fundamental steps are: • Characterize the project and its environment • Set the goals • Choose the appropriate processes • Execute the processes • Analyze the data • Package the experience for reuse

  14. The SEI Capability Maturity Model • A staged process improvement based on assessment of key process areas until level 5 (a state of continuous process improvement) is reached • A five level process maturity model is defined based on repeated assessments of capabilities in key process areas • The basic idea is that there are key process areas and attending to them will improve software development

  15. Lean Enterprise Management • Based on the principle of concentration of production on “value-added” activities • Goal is to build software with the minimum necessary set of activities and then to tailor the process to the product’s requirements.

More Related