Why does software need to be “maintained”? What about it needs to be maintained?

1.85K viewsOtherTechnology

This is totally me just being naive, I don’t work in the software realm but do have an interest possibly one day, but if we have stuff that’s been able to run (seemingly) successfully for years, or maybe even decade, what maintenance needs to even be done on old programs? Is this simply for people discovering security vulnerabilities and patching them? Is there more to it than that?

In: Technology

31 Answers

Anonymous 0 Comments

There’s really five aspects of software “maintenance”.

First is change management – software development isn’t always a “one and done”, usually you find ways to make the software better, and push out an improved version that you either put out for free, or charge money for. Also, when new hardware becomes available, it is prudent to port your software to the new hardware and make updates to take advantage of new hardware features.

Second is bugfixing and vulnerability patching – almost all software has bugs to some extent. Finding and getting rid of them can be a lengthy task. Some of these bugs can also create vulnerabilities that hackers could exploit to compromise a system that’s running the software. Leaving these vulnerabilities unpatched is very negligent. Another aspect of this is updating DRM which protects the software from pirates who are constantly finding ways to get around it.

Third is server maintenance – this is more on the hardware side of things. But some software runs on servers out on the internet. Those aervers are physical machines that need to be maintained as they grow old and wear out. Replacement servers will also have newer hardware, and likely a newer operating system, so it may be nescessary to update the software to accomidate the newer hardware or OS.

Fourth is customer support – usually you see this with enterprise grade software. But this is basically “tech support” for a given program. In a buisness environment, you can’t really sell CEOs on software that doesn’t come with a good support package. Which is a fancy way to say they need someone they can call to resolve any issues they might have with the software that might be impacting their buisness.

Fifth is distribution – In order for people to actually use the software, they need the ability to acquire and run it. Part of maintenance is making the software available for people to download or acquire in disk form. Otherwise it can be lost to time as people start to lose access to it. This also means making sure it can run on newer hardware that people are likely to have, as older machines become harder to find.

You are viewing 1 out of 31 answers, click here to view all answers.