Why Do People Neglect Maintenance?
They neglect maintenance because we reward resolving outages and fighting fires more than we do good stewardship.<p>Imagine the following scenario.<p>Acme Co. has some piece of software that is critical to the operation for their business.<p>Dave is in charge of the software system. The software crashes often but Dave is always there to save the day.<p>Dave often has to stay up all night and is seen fixing problems at the final hour.  Management takes notice of this and often sends out emails congratulating Dave for his hard work.<p>One day Dave leaves, and is replaced by Amy.  Amy takes over the system and slowly and methodically fixes all the bugs that were causing the outages in the software.¹<p>Over time the code becomes more reliable, till eventually it runs smoothly.<p>Now what would management say if you asked which programmer was better.  They'd likely say: "Amy is pretty good, but boy that guy Dave was a real rockstar!"<p>When you reward a behaviour, you will get more of it.<p>If you want software maintenance, then you need to reward it.  But often, perversely we reward its opposite.<p>I'm working mostly as an ops person these days, and if I do my job well it makes my contribution look invisible.  When things are going right, there won't be anything to notice.<p>1: In other words, code maintenance.