Notes on Software Maintenance
Written by: martin@fresnosa.tech
Notes on Software Maintenance
Software maintenance constitutes a critical aspect of the development life cycle. Nonetheless, it is not uncommon that some aspects of it doesn't receive the level of priority they deserve.
We can differentiate maintenance in 4 groups of tasks:
- Functionality enhacements, new features, improving UX, performance optimization, etc. That is what we called "Perfective" maintenance.
- Bugfixing and patching. This activities are part of the "Corrective" maintenance group.
- Updating underlaying infrastructure, complying with regulatory changes, etc. This is "Adaptative" Maintenance.
- Then future proofing, code optimization, documentation updates, etc. It's known as "Preventive" maitenance.
As companies prioritize initiatives that promise immediate returns, dedicate efforts to components perceived as offering conspicuous value or no immediate impact may seem counterintuitive. This is when routine engineering involved in Corrective, Adaptative and preventive maintenance is left aside.
Available Tools and Practices also don't help to assess the risks of inadequate software maintenance are they become vastly overlooked.