Alain April1, Jane Huffman Hayes* ,†,2, Alain Abran1, and Reiner Dumke3
Department of Software Engineering, Université du Québec, École de Technologie Supérieure, Canada Department of Computer Science, University of Kentucky, U.S.A. 3 Department of Informatik, Otto von Guericke Universtity of Magdeburg,Germany.
SUMMARY We address the assessment and improvement of the software maintenance function by proposing improvements to the software maintenance standards and introducing a proposed maturity model for daily software maintenance activities: Software Maintenance Maturity Model (SMmm). The software maintenance function suffers from a scarcity of management models to facilitate its evaluation,management, and continuous improvement. The SMmm addresses the unique activities of © software maintenance while preserving a structure similar to that of the CMMi 4 maturity model. It is designed to be used as mm a complement to this model. The SM is based on practitioners’ experience, international standards, and the seminal literature on software maintenance. We present the model’s purpose,scope, foundation, and architecture, followed by its initial validation. Copyright © 2004 John Wiley & Sons, Ltd.
J. Softw. Maint. And Evolution 2004; No. of Figures: 4. No. of Tables: 7. No. of References: 117. KEY WORDS: software maintenance; process improvement; process model; maturity model *Correspondence to: Jane Hayes, Computer Science, Laboratory for Advanced Networking, University ofKentucky, 301 Rose Street, Hardymon Building, Lexington, Kentucky 40506-0495 USA. †E-mail: email@example.com Contract/grant sponsor: none
1. INTRODUCTION Corporations that rely on revenues from developing and maintaining software now face a new, globally competitive market with increasingly demanding customers. With services and products available from vendors the world over, customers are insistingthat these services and products be of high quality, cost as little as possible, and be accompanied by support services that challenge the competition. To satisfy these needs, the dynamic organization faces two challenges: it must have the ability to develop and maintain software to meet the customer’s needs, and it must have access to software that supports the company’s business processes. Bothperspectives of software (external and internal) must be reliable and well maintained. Maintaining the missioncritical software of an organization is not an easy task and requires the existence of a management system for software maintenance. An adequate system for software maintenance has to satisfy a number of needs (the service criteria of a company’s customers and the technical criteria of thedomain), as well as maximize strategic impact and optimize the cost of software maintenance activities. This requires that the organization be committed to the continuous improvement of software maintenance processes. Colter’s observation of 1987 is still true today: “The greatest problem of software maintenance is not technical but managerial” [Col87, Ben00]. The technical issues are not farbehind. There has been much research in the area of resources, processes, and tools for software maintenance. The documented problems vary according to the perspective of the author who describes the problems. There are generally two perspectives: the external perception of the customer, and the internal perception of the employees and managers who work in software maintenance. We address each in turn.From the external perspective, a number of maintenance problems can be identified. According to Pigoski [Pig97], the cost of maintenance is too high, the speed of maintenance service is too slow, and there is
CMM and CMMi are trademarks of the SEI in the United States.
difficulty in managing the priority of change requests. From the internal perspective, the work environment forces...