Software Maintenance in a Service Level Agreement: Controlling the Customers Expectations

Total Files1
Size0.00 KB
Create DateJanuary 23, 2018
Last UpdatedJanuary 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.


Posted in .

I am full professor of Software Engineering at the University of Québec in Montréal, in its Software Engineering faculty. I have more than 30 years of Helthcare, Finance/Banking and Telecommunications IT industry experience, especially in Cloud Computing, Big Data, software acquisition, contracts, software quality assurance and business process management. I am more comfortable with open source, practical applications and technology transfer to industry.
Currently I concentrate on research projects. In the past I was the recipient of the ISO award for higher education in standardization in 2011, as well as the chair of the Software Engineering gratuate program and of the Software Engineering departement. I also published Software Engineering Books: Software Maintenance Improvement and Software Quality Assurance.