Blog Post

The Importance of Software Maintenance Contracts

Oct 12, 2015

Katherine Persac

When purchasing software, vendors will often offer maintenance contracts that make you wonder if this is something you really need. While researching information on software development companies, I came across an interesting article about software maintenance. This intrigued me to provide several reasons why I think software maintenance is a necessity as it pertains to the controls industry.

As Robert Glass writes in his ‘Facts and Fallacies of Software Engineering’, about 60% of a software’s cost is maintenance, and about 60% of the maintenance cost is improvement. The technological growth rate in the software field is significantly higher compared to most other fields. This means that one has to always remain proactive to keep their product relevant and up-to-date. This is just one of many functions of software maintenance.

Computer Science students learn about the first law of software engineering – “No matter where you are in the system life cycle, the system will change, and the desire to change it will persist throughout the life cycle.” Maintenance is just an effort to keep up with this change, and maybe, try to go a step ahead of the change itself. 

5 Reasons to Purchase Software Maintenance

Adaptive Reasons

A software environment is continuously changing, and regular maintenance is required to help it adapt to the new changes. Where control systems are involved, a system software update may affect other software. Software platforms, hardware upgrades, etc. all affect the working of software. In essence, adaptive maintenance is required to keep your software fresh in changing circumstances and increasing the lifespan of the software.

Corrective Reasons

Maintenance has to be performed to repair bug fixes in the software. This might include bug fixes due to a change in the hardware, OS or other accompanying parts in the system. Maintenance involves testing to detect a problem and injecting a fix without disturbing the rest of the system. Of course, you probably have some warranty period where you can get the bug fixes without purchasing maintenance, but why take a chance on finding something the day after your warranty expires. That usually happens to me with appliances!

Perfective Reasons

Software maintenance fine tunes the performance ability, functionality and usability of the software. It can range from simply changing the GUI of the software to make it more user friendly to making drastic changes in the code to improve the performance and add new features. With some software maintenance contracts you have the ability to recommend new features and functionality.

Preventive Reasons

Preventive maintenance is essentially a pre-emptive strike against problems. By carefully observing the conditions in the control environment and getting advance notice of control system vendor releases, an expert can make decisions to revise the software through data and code restructuring. He then writes specifications for the software developers to make necessary changes to the code.

Legal and Business Reasons

It is not just the technological parameters that change with time, but also the legal and business side of things. You need to be able to adapt, not only to stay on par with your competition, but to be on par with the latest legal norms and requirements related to privacy and security of the users. Business patterns and government rules are also subject to constant change and improvement.

Does my software need maintenance?

This is a key question that confuses a lot of people, especially when they look at the costs of maintenance. The decision to purchase maintenance should be taken after assessing the expected lifespan and usability of the software. In the controls industry, software and control systems have a long lifespan. The other important aspect one should consider is the time frame on releasing updates – whether the maintenance agreement calls for dot releases, ie, version 2.2 to 2.3, or full releases, ie, version 2 to 3. Make sure to check the release cycle to see if it is agreeable with your strategic business plans.

Some call software maintenance a necessary evil, but with the right amount of expertise and professional help, you can make it into what it really is – a good investment.