Improving Product Reliability and Software Quality, 2nd Edition
by Mark A. Levin, Ted T. Kalal, Jonathan Rodin
23Applying Software Quality Procedures
Once all the techniques are understood, they are put together in a process that enables the software organization to produce high‐quality software. There are two generic types of processes that the organization should employ. The first is a software development process. The second is an organizational process improvement process. The software development process is the set of metrics and techniques used to deliver a specific software project with adequate quality. The organization process improvement process allows the group to improve software quality from release to release.
The overview of the process during a project has seven elements:
- Develop requirements, including quality goals.
- Size the work.
- Create a defect run chart showing where the software is against the quality goals.
- Use failure modes and effects analysis (FMEAs), reviews, inspections, and defensive programming techniques to avoid defect injection.
- Employ the various testing techniques to discover defects.
- Measure defects discovered during the project and keep the defect run chart up to date.
- Use the defect run chart to determine when the software quality goals have been achieved.
The generic process described above is usable with both waterfall and Agile software life cycles. During waterfall life cycles, these activities map pretty cleanly into the various stages of the project. In an Agile process, each of these activities could be used during a sprint. However, in Agile, ...