Software defects are expensive. Moreover, the cost of finding and correcting defects represents one of the most expensive software development activities. For the foreseeable future, it will not be possible to eliminate defects. While defects may be inevitable, we can minimize their number and impact on our projects. To do this development teams need to implement a defect management process that focuses on preventing defects, catching defects as early in the process as possible, and minimizing the impact of defects. A little investment in this process can yield significant returns.
Mosaic, Inc. served as the project manager for a Quality Assurance Institute (QAI) research project on defect management. The purpose of the research project was to develop guidance for software managers in the area of defect management. The results of the project were published in the QAI research report number 8, Establishing A Software Defect Management Process. While working on the project, Mosaic, Inc. developed a framework for the defect management process in the form of a defect management model.
This defect management model is not intended to be a standard, but rather a starting point for the development of a customized defect management process within an organization. Companies using the model can reduce defects and their impacts during their software development projects. This web site summarizes the results of the research project and introduces the defect management model.
The defect management process is based on the following general principles:
The primary goal is to prevent defects. Where this is not possible or practical, the goals are to both find the defect as quickly as possible and minimize the impact of the defect.
The defect management process should be risk driven -- i.e., strategies, priorities, and resources should be based on the extent to which risk can be reduced.
Defect measurement should be integrated into the software development process and be used by the project team to improve the process. In other words, the project staff, by doing their job, should capture information on defects at the source. It should not be done after-the-fact by people unrelated to the project or system
As much as possible, the capture and analysis of the information should be automated.
Defect information should be used to improve the process. This, in fact, is the primary reason for gathering defect information.
Most defects are caused by imperfect or flawed processes. Thus to prevent defects, the process must be altered.
How to View this Website
This site contains two main sections. The first one, Defect Management Process, lays out the Defect Management model that Mosaic, Inc. has developed. The second section, Implementing the process, gives tips on how to take the model and use it within your company. You can click on the links below to take you directly to either section.
In subsequent pages a navigational sidebar will appear that will not only tell you where you are, but also provide links to take you to different parts of the site. The footer on the bottom of each page provides you with links to go to Mosaic, Inc.'s homepage, or return to this page.
The arrows on either side of these links, are another way to navigate around. Up arrows take you back to the parent of the page you are on. Down arrows allow you to delve into greater detail about a topic. For example, the down arrow below takes you to the Defect Management Process. Left and right arrows allow you to move to the next or previous logical page.