Several years ago I gave a talk at work with the same title as this post. For a while, recordings of these lunch talks were available internally in the company.
Over several years, I’ve had people either thank me for the original talk or reference things I said in the talk. Despite the fact that I didn’t think I had said anything particularly profound, it seems to have resonated with some people. Over the next posts, I’m going to try to expand on individual slides from that talk.
What is Maintenance Programming?
One thing to get out of the way up front. Maintenance programming is not just about fixing bugs. It’s not just about performance tweaks. Anyone who has done maintenance on a production system for a while learns that most of what we do in maintenance is changing an existing system that is serving customers so that it does something other than it was originally designed for.
Companies don’t like to leave functioning systems alone. Sometimes they want to make changes to the UI, sometimes they want to add minor functionality. But, sometimes they want it to do something that is completely at odds with the original goal of the system. And they want it now.