What Are The 4 Types of Maintenance Strategies?
Last updated: December 28, 2023 Read in fullscreen view
- 02 Nov 2023 Differences between software walkthrough, review, and inspection
- 13 May 2022 IT Training and Development: The most effective options for upskilling IT staff
- 15 Feb 2024 What is a Cut-Over in Software Development?
- 19 Mar 2021 Selective Outsourcing of IT Functions - a new trend in business outsourcing
- 15 Oct 2022 Project-based team model for one-off and pilot software development projects
4 software maintenance categories
- Reactive maintenance: Maintenance is only performed when the machine breaks down.
- Preventive maintenance: Maintenance is performed at regular intervals.
- Conditional maintenance: Maintenance is scheduled in anticipation of a breakdown, based on monitoring of the asset and using prior experience to assess the need to schedule maintenance.
- Predictive maintenance: Maintenance is scheduled in anticipation of a breakdown, using big data analytics and machine learning to predict the probability of a failure by models trained on discerning usage and wear data patterns. Since maintenance is scheduled not later and not sooner, but at the right moment, predictive maintenance can also be called just-in-time maintenance.
Reactive maintenance sits at the highest end of the cost impact scale and at the lowest end of the maintenance anticipation scale, whereas predictive maintenance sits at the lowest end of the cost impact scale and at the highest end of the maintenance anticipation scale.
Preventive software maintenance
Preventive maintenance refers to software changes carried out to futureproof your product. So, software maintenance changes are preventive when they prepare for any potential changes ahead.
This includes making your code easier to scale or maintain and managing your legacy content. It also covers finding and fixing latent faults in your product, before they evolve into operational faults.
Preventive software maintenance, then, tends to be behind the scenes. Think tidying and preparation, rather than headline changes.
Your users are unlikely to notice preventive software changes – but they still have a positive effect later. This is because preventive maintenance can mean the smoother implementation of bigger changes later down the line. (As well as ongoing stability day to day.)
Corrective software maintenance
Corrective changes in software maintenance are those that fix bugs, flaws and defects in the software. It often comes in the form of quick, small updates on a semi-regular basis.
For users, corrective software maintenance is unlikely to cause negative sentiment. Who, after all, is unhappy about annoying bugs, glitches or issues getting fixed? This category of change helps make the user experience instantly and obviously smoother, as well as more reliable.
However, on the odd occasion, a corrective change may cause some disruption to users. This might happen when a bug or flaw in the software is long-standing – and the user has grown accustomed to it.
In such a case, a user may have adapted their behaviour around a flaw in your software. When it’s fixed, they must change their behaviour again, which can cause a negative response. Another time that a corrective change might upset a user is if they struggle with a certain bug or issue, but it isn’t fixed when other issues (that don’t affect them) are fixed.
So, with corrective software maintenance, it’s important to act quickly and often. That helps you offset any potential user problems, and keep your product in shipshape.
Adaptive software maintenance
The tech environment is constantly changing. New knowledge, hardware, and cybersecurity threats mean that software quickly becomes outdated. Adaptive software maintenance addresses this issue.
Adaptive changes focus on the infrastructure of the software. They’re made in response to new operating systems, new hardware, and new platforms, to keep the program compatible.
Adaptive software changes tend to be low impact for users as they deal with the internal workings of the software. (Making sure it can integrate with new tech.) Users may notice a small improvement in speed or scalability but are otherwise unaffected.
In fact, users are more likely to notice when adaptive maintenance isn’t completed. For example, it would mean their software stops working on their up-to-date devices.
Perfective software maintenance
The last software maintenance category is the biggest. Perfective software maintenance addresses the functionality and usability of the software. Perfective maintenance involves changing existing product functionality by refining, deleting, or adding new features.
As well as changing the way a product works, perfective changes might also change the way it looks. Any user interface tweaks, redesigns, or in-app user journey changes fall under the perfective maintenance category, too.
This scope and palpability make perfective maintenance the most likely to elicit change aversion in users. After all, perfective changes are highly noticeable. Users won’t notice a bit of refactored back-end code, but they’ll notice any chops and changes visible up-front.
So, managing perfective changes means communicating with your users to mitigate any potential negative sentiment. Try using product feedback, dogfooding, and offering accessible support. Change is necessary: but make sure you manage it effectively.
Manage your maintenance
Software maintenance is integral to keeping software running smoothly. But it’s not enough to merely make your changes and deploy them unannounced. When performing software maintenance, it’s important to consider what effect the changes you make could have on your users.
If your software maintenance could cause confusion, you need to make sure you’re effectively communicating with – and supporting – your users. That way, you avoid the potential disruption of change and ensure that maintenance stays your product’s mainstay.