Measuring Software Quality
Norm Goodkin
Quality Matrix International, Inc.

Slide 2

Triple Constraint?

Slide 4

You can’t manage what you can’t measure.

Slide 6

1D, 2D, 3D
1D = Total Number of Bugs
But some bugs are more equal than others
2D = Bugs by level of Severity
But one area can suffer while another is great
3D = Levels of Severity + Area Affected
Severity is not the same as Urgency for Fix.

Severity 0-9
9 = worst case scenario
8 = pretty bad
7 = service outage
6 = old feature fails
5 = new feature fails
0 = spelling error in an internal operations message

Accumulation of Low Level Bugs
Lots of Level 3 and Level 4 bugs can give you a tummy ache.
Set limits at all levels, for all areas.
Take appropriate action if it looks like you are going to exceed the limits.
Fast Track or Crash to allow more fixing
Prepare users to deal with the problems

Setting the Bar
Set realistic goals
Base goals on past performance
Enjoy the success of achieving goals
Gold Plating is as wrong for Quality as it is for Scope.

Zero Defects/Zero Downtime?
Is ZD2 a realistic requirement?
Goals vs. Objectives
Continuous Improvement – a form of Gold Plating?
Set Quality Targets based on project history
Achieve Acceptable Quality

Quality Review Board
Represent Stakeholders
Not too senior
Subject Matter Experts
10-15 max
Quantify Problem Severity
Establish Quality Targets

Quality Review Board?

The Quality Matrix

3D Quality Matrix – Sample

Apply Feedback

Weigh the Risk
Which bug fixes will be the least risky?
If two have equal severity, fix the one with less risk.
Generally, the larger the change, the larger the risk.
Fixing a low severity problem can be risky.
There’s no such thing as zero risk with software.

Summary
Measure Quality
Set reasonable quality targets
Represent Stakeholders
Balance Schedule, Scope, Cost and Quality
Use feedback to get it right