Difficulties in Managing Software Problems and Defects
Marko Jäntti · 2008
Many IT organizations are struggling with the increasing number of software problems and defects. The number of software problems and defects has increased due to complex IT systems, new technologies, and tight project schedules. Software quality problems can rapidly increase the costs of software maintenance and development. Unfortunately, support teams of IT organizations have limited resources for resolving software problems and defects. Often, they do not have well-defined process models for problem management. Additionally, traditional defect management models are not adequate to service-oriented software business in which problem resolution requires communication between several service providers. The process of managing problems and defects includes a large number of difficulties and challenges but has been given little consideration in software engineering research. The research work of this thesis is organized around four goals. The first goal is to study software quality assurance methods that can be used to detect defects. The second goal is to identify the difficulties that organizations have in managing software defects and which improvements are needed to existing defect management models. The third goal is to study the concepts of service-oriented problem management. The fourth goal is to study challenges and difficulties of service-oriented problem management methods. In this thesis, we have examined software quality assurance methods with a strong focus on UML-based testing and studied how early test case planning helps to detect defects and problems. We have identified difficulties that IT customers and IT providers have regarding defect management. We have introduced a service-oriented problem management model that describes the concepts of problem management, the relationships between concepts, and connections between problem management and other service support processes. The model has been tested and evaluated in practice with several case organizations. As a part of the model, a checklist for evaluating problem management was created and a knowledge base for proactive problem management was established. The main contributions of this thesis are 1) evaluation of a UML-based test model as a defect detection technique, 2) a documented list of challenges and difficulties regarding defect management, 3) a systematic approach on service-oriented problem management with recommendations and guidelines, and 4) a list of difficulties concerning service-oriented problem management. These contributions can be used by problem managers and quality managers to improve problem management processes. Universal Decimal Classification: 004.052.4, 004.415.5, 004.415.53, 006.015.5 Inspect Thesaurus: computer software; software quality; software process improvement; quality assurance, quality management; software management; errors; error detection; Unified Modeling Language; program testing