What is software maintenance?

Definition

Software maintenance includes fixing defects, applying security updates, adapting to changed dependencies or platforms, monitoring operation, updating documentation, and revising behavior as user needs evolve.

Personal software still needs an owner and lifecycle plan. A small system can minimize maintenance by choosing the simplest suitable architecture, limiting dependencies, preserving backups, and defining how it will be updated or retired.

ELI5

Software maintenance is the work required after an application is first built. It keeps the software safe and useful as bugs appear, platforms change, dependencies update, and the user's needs evolve.

For example, a personal background service may need security patches and a fix when an operating-system update changes file access. Choosing a smaller design can reduce that ongoing burden, but it does not remove it.

Frequently asked questions

What work belongs to software maintenance?

It includes bug fixes, security patches, compatibility updates, monitoring, backups, dependency changes, documentation, and planned retirement.

How can a personal tool reduce maintenance?

Use the smallest suitable architecture, limit dependencies, keep ownership clear, automate tested updates, and preserve recoverable backups.

Videos explaining software maintenance

  1. Portrait of Nate B Jones beside the words Five Shapes of Software