Maintenance has become one of the most complex, crucial and costly disciplines within software engineering. Despite this, very few maintenance process models have been suggested. The extant models are too general, covering all maintenance categories, i.e., corrective, adaptive, perfective, and preventive maintenance. They do not help in acquiring a deep objective understanding of any of the maintenance categories.
One way to remedy this is to create process models specialised to each maintenance category. Corrective Maintenance Maturity Model (CM3) is such a model. It is entirely dedicated to corrective maintenance. It encompasses the most important processes utilised within this domain. They are CM3: Predelivery/Prerelease, CM3: Transition, CM3: Problem Management, CM3: Testing, CM3: Documentation, CM3: Upfront Maintenance, and CM3: Maintainers' Education and Training.
In this thesis, we consider in detail one of the CM3 constituent process models, CM3: Problem Management. Problem management is the basis for conducting corrective maintenance. It not only handles software problems but also provides quantitative feedback important for assessing product quality, crucial for continuous process analysis and improvement, and essential for defect prevention.
Just as other CM3 constituent processes, CM3: Problem Management is based on CM3 definitions of maintenance and of corrective maintenance, and it follows the CM3 process structure. It has seven components: (1) Taxonomy of Activities, which lists a set of activities relevant for the problem management process; (2) Conceptual Model, which defines concepts relating to information about the process; (3) Maintenance Elements, which explain and motivate the implementation of maintenance process activities; (4) Process Phases, which structure the CM3 constituent processes into process phases; (5) Maturity Levels, which structure the problem management process into three maturity levels (Initial, Defined and Optimal); (6) Roles, which define the responsibilities of individuals executing the process, and (7) Roadmaps, which aid in the navigation through the problem management process.
Our primary goal with the CM3 model and its constituent processes is to create a fine-grained process model that allows maximal visibility into corrective maintenance. Some of our other goals are (1) to establish a common forum for communicating about corrective maintenance, (2) to suggest an evolutionary improvement path for software organisations from an ad hoc immature process to a mature and disciplined one, (3) to enable industrial organisations to examine their own practices and compare notes, (4) to provide a pedagogical tool for universities and industrial organisations in the process of educating their students and software engineers within the area of corrective maintenance.
CM3: Problem Management was built primarily for ABB. It is the result of two research projects: Software Metrics Laboratory, and Software Maintenance Laboratory. Software Metrics Laboratory was established jointly by Ericsson and the Department of Computer and Systems Sciences (DSV) at the Royal Institute of Technology and Stockholm University in the years 1994-1996. During these years, we have developed a conceptual model of the basic concepts relating to the handling of software problems within corrective maintenance. This conceptual model evolved into CM3: Problem Management: Conceptual Model (Revisited) developed during the Software Maintenance Laboratory phase - a collaboration between ABB and DSV in the years 1998-2000. Although CM3: Problem Management has been primarily developed in the ABB context, it is targeted to all software organisations involved in building or improving their corrective maintenance processes.
Stockholm: Department of Computer and Systems Sciences, Stockholm University , 2001. , p. 290
Diss. Stockholm : Univ., 2001