Software Maintenance: A Software Rejuvenation Strategy

What would you do if suddenly you found that Google would not open on your new smartphone or tab or iPad due to compatibility issues?

Imagine the internet was down worldwide for a day how chaotic could it be?

In today's tech savvy world, where gadgets, smartphones, tablets iPad are must have and smartphone are integral part of our life any failure of smartphone, Web or software could mean huge losses to the person as well as to the company.

Well the laymen attitude after buying a software or a product is “I have bought a latest one, I need not worry for next few months."

Buying a world class software is not sufficient if after certain period of time, it becomes obsolete or useless. This is where maintenance and support come into picture. Maintenance of the product is like life support for the product to remain usable and remain on par with any other new equivalent product in the market.

Concept of Maintenance

Software continues to evolve over time. Any changes which are done to software after it is in use is called maintenance. It may include addition of new capabilities, correcting errors, removal of obsolete parts and optimizing the software.

Why does a company need Software Maintenance?

The cost of failure of a software is not restricted to cost of replacing it but more with loss of business when it fails.

An account management software would be rendered useless if it would not undergo simultaneous upgrades with the changes in tax laws.

Maintenance is required to repair existing errors or faults in the system. Software changes are inevitable and maintenance is required to adapt to various changes like changes in platforms, hardware, compilers etc. Maintenance is also required to avoid or prevent any future problems or costs due to rapid changing needs.

The Process of Maintenance

Most of the software comes with maintenance contract or agreement which helps vendor to make changes or remove bugs in installed software for certain period of time. The client or company is provided with maintenance plan and depending upon the contract the maintenance process is carried out accordingly.

An on-going maintenance contract helps both the vendor as well as the user. For the user, it is a written record that the software purchased will be upgraded and there will be constant support from vendor to avoid its failure. For the vendor, it helps generate revenue and build a good customer base for futuristic growth.

Categories of Software Maintenance

According to case study conducted by Lientz and Swanson spanning around 487 IT organisations in late 1977 most of development staff spent half their time on maintenance. Bigger the company, larger the time spent on maintenance.

They classified maintenance into four types.

  • Adaptive: modifying the system owing to changes in the software environment
  • Perfective: implementing new or changed user requirements
  • Corrective: done after the software is in use to correct any problems discovered by the users
  • Preventive: done to prevent any future problems and maintain usability

    Maintenance Dilemma

    Due to huge maintenance costs most of the companies are hassled by the thought of software maintenance. Maintenance gnaws at large share of lifecycle cost and if the software is not upgraded thereby enhancing reliability business gets affected.

    Software maintenance is considered as a necessary evil which when combined with proper expertise and guidance would serve to be good investment for the company's futuristic growth.


    Sarmang Software