|Create Date||January 23, 2018|
|Last Updated||January 23, 2018|
Software maintenance constitutes an important part of the total cost of the lifecycle of a software application. Some even argue this might be the most important fraction of the cost (50-80 % according to Tony Scott, 75% according to Rand P. Hall, 60% Freedman). The added value of software maintenance is often not perceived by the customers. While the introduction of a new software application clearly shows new benefits, the work being done to maintain an existing application is usually only apparent when the application breaks down or small changes are being implemented (which sometimes also causes some downtime). This results in a negative perception of the software maintenance section. A proposed approach to turn this around is to provide the customer with insights in the activities performed by the maintenance section and to come to a clear agreement on the results and expectations of these activities.
The Service Level Agreement (SLA) originates from the practice of the specifications of results found in the contractual agreements of the large computing centres of the 50’s (McBride 1990). Service Level Agreements could be the used by software maintenance for better managing customers’ expectations by specifying with the customer what the service results will be. Until a few years ago, this management practice had been limited to operations and support services: the literature search about agreements on Software maintenance turned out some references to Software Maintenance Agreements (for instance Mueller 1994) but most of the agreements reported were limited to helpdesk support, bug fixes and the distribution of new releases. No detailed agreements were reported to include the full spectrum of maintenance services, including the management of the quality of the service.
In this paper the application of Service Level Agreements to the field of Software Maintenance is described, based on the experiences at Batelco. First, key differences between software maintenance and IT development are described, together with the difficulties of viewing software maintenance as an IT Service, and related challenges to tackle them in the design of an SLA. The context at Batelco is presented next, together with a description of the various aspects of the SLA implemented. Lessons learned on the application of SLAs on software Maintenance are presented as well as recommendations for future improvements.