18
1 Software Quality Engineering CS410 Class 5 Seven Basic Quality Tools

1 Software Quality Engineering CS410 Class 5 Seven Basic Quality Tools

Embed Size (px)

Citation preview

Page 1: 1 Software Quality Engineering CS410 Class 5 Seven Basic Quality Tools

1

Software Quality EngineeringCS410

Class 5

Seven Basic Quality Tools

Page 2: 1 Software Quality Engineering CS410 Class 5 Seven Basic Quality Tools

2

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

Page 3: 1 Software Quality Engineering CS410 Class 5 Seven Basic Quality Tools

3

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

Page 4: 1 Software Quality Engineering CS410 Class 5 Seven Basic Quality Tools

4

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

Page 5: 1 Software Quality Engineering CS410 Class 5 Seven Basic Quality Tools

5

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

Page 6: 1 Software Quality Engineering CS410 Class 5 Seven Basic Quality Tools

6

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)

Page 7: 1 Software Quality Engineering CS410 Class 5 Seven Basic Quality Tools

7

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)

Page 8: 1 Software Quality Engineering CS410 Class 5 Seven Basic Quality Tools

8

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

Page 9: 1 Software Quality Engineering CS410 Class 5 Seven Basic Quality Tools

9

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.

Page 10: 1 Software Quality Engineering CS410 Class 5 Seven Basic Quality Tools

10

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)

Page 11: 1 Software Quality Engineering CS410 Class 5 Seven Basic Quality Tools

11

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

Page 12: 1 Software Quality Engineering CS410 Class 5 Seven Basic Quality Tools

12

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.

Page 13: 1 Software Quality Engineering CS410 Class 5 Seven Basic Quality Tools

13

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

Page 14: 1 Software Quality Engineering CS410 Class 5 Seven Basic Quality Tools

14

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

Page 15: 1 Software Quality Engineering CS410 Class 5 Seven Basic Quality Tools

15

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

Page 16: 1 Software Quality Engineering CS410 Class 5 Seven Basic Quality Tools

16

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.

Page 17: 1 Software Quality Engineering CS410 Class 5 Seven Basic Quality Tools

17

Seven Basic Quality Tools Summary

• Keys to a tool’s value:– Consistent use

– Pervasive use

– Automation

– Integration

– As a tool for process improvement

Page 18: 1 Software Quality Engineering CS410 Class 5 Seven Basic Quality Tools

18

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