Uncategorized

The Difference Between Software Development & Software Maintenance

What are the differences between software maintenance and software development from a service point of view, and the consequences thereof for the maturity of software maintenance organizations.

It can be argued that software maintenance can be seen as providing a service, whereas software development is concerned with the development of products.

Differences between products and services affect the way in which customers assess their respective quality. Consequently, customers will judge the quality of software maintenance differently from that of software development. This in turn implies a need for different processes than those used by the average software development organization.

We will discuss two overall approaches to achieve a high-quality IT service organization which include these service-specific processes: ITIL and the Capability Maturity Model (CMM)

  • ITIL is a set of best practices widely used within the IT service industry.
  • CMM is a maturity growth model is a set of best practices (KPA) for software engineering & development

Here we will investigate the differences between software maintenance and software development from a service point of view. There are differences between products and services in general. These differences affect the way in which customers assess the quality of products and services.

In particular, service quality is assessed on two dimensions: the technical quality—what the result of the service is—and the functional quality—how the service is delivered.

It can be argued that software maintenance can be seen as providing a service, whereas software development is concerned with the development of products. Consequently, customers will judge the quality of software maintenance differently from that of software development.

In order to provide high-quality software maintenance, different and additional processes are needed than provided by a high-quality software development organization.

  • Services are produced and consumed simultaneously, whereas for products production and consumption can be separated. For example, a car can be produced first, sold a few months later, and then be consumed over a period of several years. For services the production and consumption has to take place in parallel.

Software maintenance is defined as (IEEE, 1990): “The process of modifying a software system or component after delivery to correct faults, improve performance or other attributes, or adapt to a changed environment”.

It is important that maintenance commitments be planned and documented. This works best if the maintenance organization and customer work together towards the specification of relevant and realistic maintenance service commitments (often called Service Level Agreement—SLA), based on the needs of the customer.

Examples of such conditions could be that the customer should use a certain format for documenting change requests or, in case of a bug, provide the maintenance department with the input that caused the fault to manifest itself. This includes the planning of the maintenance activities themselves, the transfer of the results thereof to the customer, the estimation of resources needed, the scheduling of maintenance activities, and the identification of possible risks.

IT Service Support covers configuration management, problem management, change management, help desk, and software control and distribution.  Whereas the Software CMM targets software development processes that are key to producing and implementing high quality software products.

Process, Software Engineering Institute, Carnegie Mellon University, SEI Series in Software Engineering, Addison-Wesley Publishing Company, Reading, Mass., 441 pp. Singer, Janice (1998) ‘Practices of Software Maintenance’, in Proceedings of the International Conference on Software Maintenance, IEEE Computer Society Press, Los Alamitos, CA., pp. 139-145.

Frank Niessink received a MSc in Computer Science and a MSc in Economics from the Vrije Universiteit.

Related Articles

2 Comments

  1. Thank you very much, it is mostily common sense things when you know the IT Support Industry. Process, Service Level Agreements with users, Metrics you want to track, A method of collecting data, GOOD communicaiton with users and other team members. These seem like common sense things but you would be supprised on how many IT organizaitons do not have them and simply react to the next crisis, instead of keeping them from happening. Bob

  2. Actually, if you want to compoare ITIL to anything it would be ISO 20000 or CMMI-SVC. However neither of these existed prior to 4 or 5 years ago. ITIL has been around since 1981. These others took their start from ITIL. I find ITIKL V3 Service LifeCycle to be the most sensible model of good service management out there today. Not complex and makes sense. Bob

Close

We use cookies on our website

We use cookies to give you the best user experience. Please confirm, if you accept our tracking cookies. You can also decline the tracking, so you can continue to visit our website without any data sent to third party services.