Software Maintenance

Management Maintenance vs. SDLC Maintenance

The best way we can define maintenance in SDLC is to differentiate the developers meaning of maintenance against management’s idea of SDLC.

In management, maintenance will always be a reaction to a problem. The only time management will become functional is when there is a situation that needs to be addressed.   There are already set of rules of policies that have to be followed in order for maintenance to be successful or even ideal.  

In management term, it is often called as a “zero-based” maintenance since there is no cost involved in maintenance except for the human resources that takes care of the system. This type of maintenance is very passive as it only fixes the system. It waits for something to happen and uses the present policies and regulations for a possible fix.

That type of maintenance could work when referred to management alone. However, if you transfer that definition in SDLC especially when it comes to software, maintenance could virtually be the end of the software.

In SDLC, maintenance is, of course, primarily a reactive process where developers try to find ways in fixing problems. There will always be a time where a bug or the lack of a certain process hinders the proper execution of a software. Developers will take a look at the problem and possibly create an answer to the concern. But maintenance does not end there for SDLC. Developers always conduct a preventive maintenance for their software. There are also companies that adhere to the idea of constant monitoring to ensure that the software works well.

But the biggest difference of maintenance of SDLC with management maintenance is SDLC’s goal to evolve the software. Every problem it faces the developer learns something new and this will be applied to the software. Eventually, the software becomes a highly efficient software.

SDLC Maintenance Objectives

There are two goals of Maintenance in SDLC: Increase the ability of the software and avoidance of failures.

Better Adaptability of the Software – SDLC’s idea of maintenance is very beneficial not only to the developers but also for the software itself.   With the use of available data, developers will learn something new.   In this account, they will be able to apply this knowledge to the software.

Although any developer would not wish for a problem, it poses a great opportunity to learn more about the industry and release updates to combat problems once and for all.  The end result of constant updates will be a better software that can adapt to the changing environment.   When a business spends thousands of dollars on project development, they expect more from the software.  Maintenance will ensure that the software will last for a very long time.

Avoidance of Failures – Maintenance does not only ensure that the problem will be fixed but maintenance should prevent the same event from happening again. Software will always have that “learning” property as long as they are handled well by the developers.   Developers will often work on the problem and at the same time give updates on the system to prevent failures.   It is essential for developers to release updates especially if the software is an important part of the business.

The goal of avoiding failures is even more important since software is basically a backbone of the business.   Nowadays, it is impossible to find a business that does not have a software to support them. Software is built only after thousands of dollars and months of development. Business owners and managers do not want to waste this time and money.   Since the software is already there, it is just normal to support this big investment to ensure the continuity of business transaction.

{qbapagebreak title=Types of Maintenance}

Types of Maintenance

Preventive Maintenance – Developers not only built a software that will be used by users, they also create a monitoring tool.   It is also possible that developers will get a 3rd party software to monitor the performance of each user. This is necessary for maintenance of the software.

This type of additional software is built with metrics where software engineers will have an updated information on how the software performs on a daily basis.   Preventive maintenance is important even with all the testing since it may not be possible to test few things before the software can actually be implemented. 

One such thing is stress,  the software needs to be tested not only in the number of users but also with the amount of information that has to go through software.   In business setting, testing is usually limited to a number of users and they are not rolled out to everyone compared to consumer type products.

Because of this, developers only rely on the initial results. But with preventive maintenance, developers can take a look at the software and gauge its performance.   If anything needs to be updated, they can immediately work on it even before a disaster happens.

Corrective Maintenance – in SDLC, corrective maintenance takes on a different definition compared to other industries. Software is essentially a program that can be changed or virtually learn from experience. Unfortunately, there are instances that a program might show a bug or is attacked with a virus.    In this account, developers will have to work on the problem immediately.  

They will eventually take care of the problem. But the process does not end there; developers will practically give this information to the software.   By working on the software again, developers will practically give the software an update to prevent the same problem from happening again.  With constant update it will practically be better through time.


Software is always an important part of any business. The larger the business the more it needs a better software. Companies spend a considerable part of their resources just to have a robust system implemented in their midst. Without it, they will not be able to compete with other companies.

Automation has become the name of the game and a company will only be as good as their software. If the software is not at part with the present demand, it will not work. Resources or money should be spent to have a very effective software.

But building alone does not guarantee that the software will work in any business environment. There are lots of facts that will affect the performance of the software. Overload of information and users, incompatibility with other software and hardware problems are the pressing issues a software will always have to deal with.

This will prevent the system from running and could cost thousands of dollars in productivity or even the software itself. Businesses need to have a proactive maintenance team to ensure the smooth sailing of the creative software. They will learn about the problem, gauge its effect and create a possible solution. Once done, they can work on the software to give updates and learn a few new tricks to prevent another disaster from coming.

In SDLC, correction and prevention of the problem is not the end result. As developers learn more and more about the business environment, changes are being done to the software eventually leading to updates. This is practically the end result of maintenance in SDLC. Instead of just providing and preventing problems from occurring, maintenance will eventually lead to updates that will prove beneficial to the business.

Editorial Team at Geekinterview is a team of HR and Career Advice members led by Chandra Vennapoosa.

Editorial Team – who has written posts on Online Learning.

Pin It