8Software Quality

Software quality is a question of scale. With traditional methods, software developers produce their code as best they can and then they review this code, hold team inspections, and run tests. Their objective is to find and fix as many of the program’s defects as they can. Although this approach has traditionally produced programs that run and even run pretty well, it has not produced code that is of high enough quality or sufficiently safe and secure to use for critical applications.

Perhaps the best way to explain the quality problem is by examining some data. Table 8.1 shows the defect densities of the programs delivered by organizations at various CMM maturity levels (Davis and Mullaney 2003). The CMM, or Capability Maturity ...

Get PSP(SM): A Self-Improvement Process for Software Engineers now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.