A software defect is a broad classification that encompasses bugs, design flaws, and sometimes requests for enhancement or change (this is usually referred to as Change Control). The cost of finding and correcting defects represents one of the most expensive software development activities. While the introduction of defects is inevitable, their number and impact can be minimized by implementing a defect management process that focuses on preventing defects, catching defects early, and minimizing the impact of defects. The prevention of defects relies on a risk-based assessment of the software system. Early identification of risks enables the types of defects that are most likely to occur to be anticipated, and then mitigated through the adoption of appropriate strategies and actions. When a defect is discovered, the defect management process should expedite a fix before the cost becomes too expensive. The details of a defect are recorded together with a priority and pre-defined category. When the development team acknowledge a defect, a fix is scheduled according to the assigned priority. The fix is then applied under version control and interested parties are notified of the resolution. The defect management process should be fully integrated within the software development methodology and should employ a defect management tool that allows the disposition and status of a defect to be tracked throughout its lifetime. Metrics and reportingThe defect management process facilitates the collection of valuable information that can be analyzed to generate metrics such as defect rates, defect trends, and types of defects. Where possible, the capture and analysis should be automated. The metrics can be interpreted to provide tactical information that can help the team make more informed decisions, e.g. the refactoring of error prone software or the need for more testing; and strategic information that can be used to help identify where the process could be improved to either prevent defects or minimize their impact, or to assess the likelihood that target dates and cost estimates will be achieved. While management reporting is a necessary aspect of the defect management process, it is important to avoid overkill and ensure that the reports produced have a purpose and advance the overall process. |
||
Copyright © 2008 AntonConsulting | info | webmaster | site map |