Importance of Maintenance


We’re spending too much time chasing the flashy new thing: quantum computing, blockchains, artificial general intelligence , etc.*

And while at it, we forget one important thing: the huge societal benefits that we get from software come from the “good old” programming. The traditional specifying with ultimate precision what you want your systems to do. This ensures that your salary is computed correctly, that your car locking system function safely, that your bank transfers are done securely, that your database is replicated correctly, that your communication with the server is reliable, and that your flight booking is communicated to the airport automated doors.

This kind of “good old” programming makes up probably more than 99% of all the source code out there.

All this source code needs to be maintained and evolved.

Moreover, even the systems that include AI and blockchains (and quantym algorithms whenever they might be ready to be integrated in actual systems) are mostly made up of the good old programming. The whole AI part can be easily hidden behind one “function” in the system. A function that we don’t always understand how it works, but a function still. Returning a boolean and sometimes even a floating point number.

The craddle of all these promising new technologies is still the traditional software written by software engineers.

And as this traditional software is updated to be keept up with the changes in society where it is required, it becomes more and more complex and demands more and more maintenance (e.g. the software for the Danish tax system, and a million other examples).

Unfortunately, everybody forgets about it.

Thus, although software maintenance and evolution research is not “cool”, it’s essential. Software maintenance and evolution is like plumbing: you only realize how important it is when it breaks.

We need to pay more attetion and dedicate more research and teaching to software plumbing.

* Rodney Brooks, has a wonderful tweet that summarizes this state: “We’re all going to be living in the metaverse getting everything we need to know from ChatXYZ, surrounded by stable diffusion art, paid for with crypto, and delivered by self-driving cars, or flying taxis. All fusion powered and run by AGI quantum computers. So much future! Soon!” (source)