What is Product Maintenance And How Can It Increase Your Organization’s Efficiency

Aug 15
16:10

2019

Jane Brewer

Jane Brewer

  • Share this article on Facebook
  • Share this article on Twitter
  • Share this article on Linkedin

The efforts that a company puts into software development portrays the end result in delivery of a software product satisfying user requirements. In the same manner, the final software product must evolve or adapt suting the core needs.

mediaimage

Only when the product is in operation,What is  Product Maintenance And How Can It Increase Your Organization’s Efficiency Articles the anomalies are disclosed, operating environments keep on changing and, new user requirements pop up.

This is where product maintenance process comes in.

What is Product Maintenance?

Product maintenance can be termed as the sum of activities that are needed to administer cost-effective support to a software system or an enterprise. These activities are executed during the pre-delivery stage as well as the post-delivery stage.

The pre-delivery activities consist of planning for the post-delivery operations that include but are not limited to supportability, and logistics determination.

On the other hand, post-delivery activities comprise of software modification, training, and operating a help desk.

How should Software Maintenance be done?

The initial software development can be learnt from the development effort put in by the programmers. Early involvement by the maintainer of the software helps the overall maintenance effort.

But what if the developers are no longer around or are available when a discrepancy arises? In a Software Maintenance process, one must take the products of the development, viz, code, documentation, and evolve or maintain them over the entire life cycle.

  1. B. Swanson of UCLA was one of the pioneers who examined the process of what happens during evolution and maintenance. He used the empirical data from industry maintainers.

According to Swanson, studying the maintenance phase of the life cycle provides a better insight into the maintenance phase. He then created three different categories of maintenance: Corrective, Adaptive, and Perfective.

Corrective Maintenance

Corrective maintenance is a model of maintenance which is a reactive modification of a software product. It is performed after the delivery in order to correct newly discovered problems.

Adaptive Maintenance

Adaptive maintenance is the modification of a software product which is performed after the delivery to keep a software product usable and adaptive in an already changed or dynamically changing environment.

Perfective maintenance

Perfective maintenance is the modification of a software product after the delivery which is done to improve the performance or maintainability of the delivered product.

How Software Maintenance helps an organization?

In most of the cases, the documentation pertaining to some specific software measures taken up by the organization is not published or made public.

One may find that only generic software engineering measures are used and in cases when the problem is very specific the maintainer determines which ones are appropriate for the organization.

Interestingly, there was a paper which suggested a list of software maintenance measures used at NASA’s Mission Operations Directorate. Even though one may think that the paper mostly contains astronomy specific terms and jargons, one thing is pretty important here: the general corrective, adaptive, and preventive measures still remain the same and resonate well with almost any industry.

Some of those maintenance processes include:

  • Software size
  • Software staffing
  • Maintenance request number/status
  • Computer resource utilization
  • Fault type distribution
  • Fault density
  • Software volatility
  • Software enhancement numbers/status
  • Discrepancy report open duration
  • Break/fix ratio
  • Software reliability
  • Design complexity

Conclusion

Product maintenance process is crucial to an organization, it cannot. The software life cycle is the cyclic series of phases through which a software system goes.

Improving the maturity of the product maintenance processes, software product developers and maintainers move from ad-hoc, ill-defined processes where success is largely a matter of chance towards a situation of predictable and repeatable project outcomes.

Imbibing a product maintenance process into the organization is as inevitable as the product itself.