Ensuring that the final software has few defects is one of the prime concerns of a project manager. In the procedural approach to quality management, quality control procedures are planned and then properly executed. In the quantitative quality management approach, a quantitative quality goal is set for the project; to achieve this goal, the execution of the process is monitored quantitatively.
Table 5.4. Reviews in the ACIC Project | ||
Review Point | Review Item | Type of Review |
End of project planning | Project plan Defect control system set up Project schedule | Group review Software quality adviser review Software quality adviser review |
End of project planning | CM plan | Group review |
End of 90% of requirements (this should be at the end of the first elaboration iteration) | Business analysis and requirements specification document Use case catalog | Group review |
End of 90% design (this should be at the end of the second elaboration iteration) | Design document Object model | Group review |
Beginning of each iteration | Iteration plans | One-person review |
End of detailed design | Complex and first-time-generated program specs including test cases, interaction diagrams | Group review |
After coding of first few programs | Code | Group review |
After self-testing of a process | Code | One-person review |
End of unit test plan | Unit test plan | One-person review |
Beginning of integration test | Integration test plan | Group review |
Following are the key lessons from Infosys's approach to quantitative quality management through defect prediction:
As with managing effort and schedule, you can manage quality by using the number of defects as the metric for quality.
Set the quality goal for a project in terms of the number of defects during acceptance testing. Use past data on process capability to set this goal.
Using past data, estimate the defect levels for the various defect detection stages in the process. Compare these estimates to the actual number of defects found during project execution to see whether the project is progressing satisfactorily toward achieving the goal or whether some correction is needed.
In addition to testing, plan for reviews, clearly specifying the review points, review items, and review types.
If the quality goal of the project is higher than past performance, it cannot be achieved using the same process as earlier projects. To achieve the higher goals, you must enhance the process.
Use defect prevention as a strategy to achieve higher quality and productivity goals in a project. For defect prevention, identify the defect prevention team, the points at which defect analysis will be done, and the expected benefits.
The methods described in this chapter satisfy the quality planning requirements of the Software Product Engineering KPA and the planning requirements of the Peer Review KPA at level 3 of the CMM. They also satisfy the quantitative quality planning requirements of the Software Quality Management KPA at level 4. The defect prevention planning satisfies some requirements of the Defect Prevention KPA of level 5.