180 likes | 334 Views
Software Quality Engineering CS410. Class 5 Seven Basic Quality Tools. Seven Basic Quality Tools. Promoted by Ishikawa (1989) Set of statistical tools for quality control Can be used to analyze software metrics Most applicable to Project Managers
E N D
Software Quality EngineeringCS410 Class 5 Seven Basic Quality Tools
Seven Basic Quality Tools • Promoted by Ishikawa (1989) • Set of statistical tools for quality control • Can be used to analyze software metrics • Most applicable to Project Managers • Statistical process control for SW development is more challenging than traditional manufacturing • Tools can have a positive influence on quality improvement and decision making
Seven Basic Quality Tools • Seven Tools 1. Checklist (or Check Sheet) 2. Pareto Diagram 3. Histogram 4. Scatter Diagram 5. Run Chart 6. Control Chart 7. Cause-Effect Diagram • Figure 5.1 p. 130
Checklist • A paper (or softcopy) form used for collecting and arranging data so that it can be easily used later • Also a method for ensuring that key points and tasks are addressed, or performed, at the correct times • Also a method to assist in knowing when a particular task is complete • Can be implemented as an expert system to guide process and give advise
Checklist • Checklist examples: • Common Error Checklist - developed as part of DPP, used at stage kickoff to review common errors at that stage • Process Checklists • Program Fix Checklists - ensure that all the required steps for completing a fix have been done (example fig. 5.2 pp132-133) • Code Complete Checklists - ensure that all coding standards and procedures have been followed
Pareto Diagram • Pareto Principle (80/20 rule) • 80% of the defects are contained in 20% of the modules and components • 20% of a particular defect type cause 80% of the customer calls • Pareto analysis helps identify focus areas that cause most of the problems • Pareto Analysis can be charted as frequencies in descending rank order with a cumulative percentage line (fig 5.3 p. 134 and fig. 5.4 p. 136)
Histogram • A graphic representation of frequency distribution • Should convey complete information at a glance • Examples: • Defect distributions by Sev level (fig. 5.5(A) p. 137) • Defect distribution by days open (fig. 5.5(B) p. 137) • Profile of Customer Satisfaction (fig. 5.6 p. 137)
Run Charts • A real-time statement of quality and/or workload. • Defect arrival rates weekly • Defect backlog • Delinquent fixes • Should include target for comparison • Can track significant events, and show results • Figure 5.7 p. 138
Run Charts • Good tool for project and schedule management. • Run Chart can display the typical “S” Curve • Tracks actual vs. planned over time • Completion of design review • Completion of code inspection • Completion of code integration • Completion of component test • Completion of system test • etc.
Scatter Diagrams • Usually relates to investigative work (I.e. investigating relationships) • Requires precise data • Works well for correlation analysis • For example: Code complexity vs. Defect Rate (fig 5.9 p. 140) • Shows positive correlation • Can be used as a predictor • Can be used as a tool to reduce defect rate (by reducing code complexity)
Scatter Diagrams • Can also be used for identifying/prioritizing areas requiring action items • For example: Defects rates for reused components in multiple projects (fig. 5.10 p. 141, and fig. 5.11 p. 142) • Helps identify chronic problem components • Helps focus action items on greatest payback
Control Chart • A tool used in Statistical Process Control (SPC) • Can be used real-time for improving consistency and stability • A tool for measuring Process Capability • Process Capability - inherent variation in the process in relation to the specification limits • The smaller the process variation the better the process’s capability • Process Capability is a difficult thing to estimate in software projects, however Control Charts are a useful quality management tool.
Control Chart • Types of control charts • X-bar - sample averages • S chart - standard deviations • Median chart - individuals • P chart - proportion nonconforming • NP chart - number nonconforming • C chart - number nonconformities • U chart - nonconformities per unit • Most appropriate to SW Engineering • P chart - when percentages are involved • U chart - when defect rates are involved
Control Chart • Control limits must be calculated and included on the chart • Different ways of calculating control limits exists. • Historical data • Weighted averages • Standard Deviations • SW metrics that can be control charted • Defects per component/KLOC (fig. 5.12 p. 146) • Phase effectiveness (fig. 5.14 p. 147) • Backlog Management Index
Cause-Effect Diagram • Also known as a Fishbone Diagram • Not widely used in SW development • Graphically relates causes and effects • Effect can be a positive or negative characteristic • Examples • Register Allocation Defects (negative) fig. 5.15 p. 148 • Effective Inspections (positive) fig 5.16 p. 149
Seven Basic Quality Tools Summary • Statistical tools (scientific methods) are used heavily in manufacturing, and are slowly being incorporated into SW engineering. • Some tools can be used together effectively: • Pareto Diagrams, Cause-Effect Diagrams, and Scatter Diagrams, can be used together to identify dominant problems and their root causes. • Control Charts can be used to monitor process stability.
Seven Basic Quality Tools Summary • Keys to a tool’s value: • Consistent use • Pervasive use • Automation • Integration • As a tool for process improvement
Seven Basic Quality Tools Summary • Ishikawa’s Tools a.k.a. “Seven Old Tools” • Other tools - “Seven New Tools” • Affinity Diagram • Relations Diagram • Tree Diagram • Metric Chart • Matrix Data Analysis Chart • Process Decision Program Chart • Arrow Diagram