News for hackers. Stuff that matters.
Re:Why Do People Neglect Maintenance? by gerbilly on Friday October 11, 2019 @10:46AM (#21224857)
They neglect maintenance because we reward resolving outages and fighting fires more than we do good stewardship.

Imagine the following scenario.

Acme Co. has some piece of software that is critical to the operation for their business.

Dave is in charge of the software system. The software crashes often but Dave is always there to save the day.

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.

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.¹

Over time the code becomes more reliable, till eventually it runs smoothly.

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!"

When you reward a behaviour, you will get more of it.

If you want software maintenance, then you need to reward it. But often, perversely we reward its opposite.

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.

1: In other words, code maintenance.

Re:Why Do People Neglect Maintenance? by ASalazarMX on Friday October 11, 2019 @11:33AM (#21225346)
Amy would have seemed as rockstar as Dave in the beginning, as she had to do all his work plus diagnostics plus analysis and fixing. If she made sure to inform what is she fixing, management would appreciate her more.

There are nefarious managers, but most times it's our own failings to communicate that makes us invisible.

Re:Why Do People Neglect Maintenance? by Razengan on Friday October 11, 2019 @11:50AM (#21225522)
> it's our own failings to communicate that makes us invisible.

It's not a failing to be introverted and not desire attention/spotlight.

> If she made sure to inform what is she fixing, management would appreciate her more.

Most people usually get annoyed when you tell them what you're doing for them.

Re:Why Do People Neglect Maintenance? by recursive on Friday October 11, 2019 @12:13PM (#21225743)
> It's not a failing to be introverted and not desire attention/spotlight.

It is a failing if you care about getting recognition. Self-promotion isn't the only reason for recognition. For instance you might want to promote proactive maintenance instead of reactive repairs.

> Most people usually get annoyed when you tell them what you're doing for them.

That is very different from my personal experience.

Re:Why Do People Neglect Maintenance? by tstrimple on Friday October 11, 2019 @02:10PM (#21226888)
Anecdotally I have to agree with you. When I worked at Microsoft as a Cloud Solution Architect, my job was to help companies adopt the Microsoft cloud. There were some companies at a fairly famous startup accelerator which everyone here is familiar with who I was already engaged with when a new colleague also started helping companies out of this accelerator. I was quietly doing my job and helping solve problems, he made a big fuss about how he got Microsoft's foot in the door at this accelerator. Naturally he got tons of accolades and even a bonus for his work. This need to constantly be selling yourself internally was ultimately what lead to my departure from Microsoft. I'm here to solve problems, not to talk myself up as the savior of the world. It's also why I much prefer working with startups. Your work is much more evident and you aren't constantly having to tell everyone what you've done.
Re:Why Do People Neglect Maintenance? by Draiken on Friday October 11, 2019 @12:33PM (#21225939)
Maybe I got unlucky in my career but I've worked with a "Dave" and an "Amy" where the OP's description is spot on.

"Dave" got all the hero credit and "Amy" was deemed as nothing more than someone average at her job.

While peers might now "Amy" is the real hero, non-technical people don't grasp that very well. And unfortunately normally those are the managers and executives.

Re:Why Do People Neglect Maintenance? by ASalazarMX on Friday October 11, 2019 @01:08PM (#21226296)
> While peers might now "Amy" is the real hero, non-technical people don't grasp that very well

This could be also a failing to communicate effectively. Us developers sometimes have a hard time translating:

"the join duplicates records because X table has duplicate values in Y field. We need to add a unique key constraint to it and catch the exception in module Z"

into

"your report has duplicated products because someone captured the serial number twice. I'm going to add the missing validation so this doesn't happen again".

Re:Why Do People Neglect Maintenance? by nomel on Friday October 11, 2019 @08:56PM (#21229758)
If Dave brought up the system and features, from nothing to something, which is where the difficulty is, then he probably should get more praise.

I think polishing or even refactoring an existing solution that now has well defined and understood required features, corner cases, and quirks will always be vastly easier than the unknowns involved in building something from scratch.

Re:Why Do People Neglect Maintenance? by gerbilly on Saturday October 12, 2019 @07:48PM (#21237169)
No way, maintenance of a system , especially a critical system, is much much harder than building from scratch.
Re:Why Do People Neglect Maintenance? by oblio on Tuesday October 15, 2019 @06:49AM (#21257242)
Maintenance of a decades old system is WAY harder than greenfield development.
Re:Why Do People Neglect Maintenance? by bloat on Friday October 11, 2019 @11:20AM (#21225213)
In all the places I've worked over the last decade Dave would have many, many incident reports against his name, and all the root cause investigations would not look good for him either.
Re:Why Do People Neglect Maintenance? by jolmg on Friday October 11, 2019 @01:59PM (#21226789)
I wonder if the difference lies in whether the business specializes in software. In a business that doesn't, I don't think they would invest much in investigating. Dave might be the only person qualified to do such an investigation, after all.

It could also be a matter of the ratio between tech work to be done and tech workers available. In an IT department that has too much pending work, it might be more worthwhile to implement quick crap solutions than to go back and properly fix stuff. You could call this a failure in properly funding such a department, but this is viable to happen in a business where the executives (or whoever controls the funding) don't really understand the difference between crap tech work and good tech work.

Re:Why Do People Neglect Maintenance? by rconti on Sunday October 13, 2019 @06:26PM (#21243605)
This would presume that the person doing the firefighting is the original author of the software. That you're always on call specifically for your own code.

In most ops roles, Dave would be fixing someone else's broken-ass system, and anyone else in the rotation would have a similar number of "incidents" against them.

Re:Why Do People Neglect Maintenance? by coldcode on Friday October 11, 2019 @12:34PM (#21225946)
I worked at a place where the chief architect was exactly Dave. Our core app was a pile of crap he had written that routinely got gummed up and he heroically "fixed it" and all the execs raved about him. The poor sucks who supported the app (and me as well) knew it was because the app leaked like a sieve but was fixable, but he wouldn't allow it because then he would have to admit it was his fault.
Re:Why Do People Neglect Maintenance? by teunispeters on Friday October 11, 2019 @12:11PM (#21225719)
Over several decades I have been burnt many, many times trying to be the "Amy".

because Dave isn't blamed for the incident reports - either the original reporter is or no blame is assigned. Dave gets all the accolades though.

Human nature at its "finest". I now work at a place where that's no longer an issue for me because "blaming the messenger" isn't a management culture where I am now.

Re:Why Do People Neglect Maintenance? by Jtsummers on Friday October 11, 2019 @10:52AM (#21224929)
Re:Why Do People Neglect Maintenance? by brightball on Friday October 11, 2019 @01:44PM (#21226648)
I worked at a place where I was able to focus on maintainability for a few months. We were seeing about 30 PagerDuty alerts per month. Through a combination of bug resolution and auto scaling, we got it to an average of less than two pages a month. Moving to AWS Aurora removed the final 2.

Eventually the entire system self supported...and was retired a year later.

Re:Why Do People Neglect Maintenance? by michannne on Friday October 11, 2019 @10:59AM (#21225011)
Even in the case of a suitable rewards system, one still needs the skill to be able to find and fix bugs that cause systemic issues. Many times, a company opts to get the developers who are good enough - they can build the system, and then they hand it off to some Ops team that maintains, and good luck trying to get them to fix any of the bugs introduced over the course of the project.

What should be rewarded is the skill necessary to architect software in such a way that it is easy to maintain. I often say to myself, does this decrease the effort needed by the reporting team to create reports? Does it isolate features and make it easy for devs to find the source of issues and fix them? Is it modular enough that users can expect a quick turnaround time for new features?

What I've found is that many developers, even those who believe they should be seniors and above, are unable to think from this perspective, or frequently think it's "impossible" to make software that addresses and solves the issues of all groups. In my experience, it is never impossible, it is all about having the right architecture, which can takes weeks to fully think up and realize, and may still change afterwards, but the design of the software is what I usually choose to reward.

Re:Why Do People Neglect Maintenance? by gerbilly on Friday October 11, 2019 @12:10PM (#21225709)
> frequently think it's "impossible" to make software that addresses and solves the issues of all groups.

I find this increasingly to be the case.

The fashion now is to do everything with MVPs and sprints.

The big hidden assumption with this style of development is that any problem can be solved using incremental 'local searches'¹ through the design space.

This is definitely not true, especially for co-optimization problems like you describe above².

1: https://en.wikipedia.org/wiki/Hill_climbing

2: "Solving the issues for all groups" appears like a meta co-optimization problem.

Re:Why Do People Neglect Maintenance? by crtlaltdel on Friday October 11, 2019 @01:53PM (#21226727)
i started my career in electrical control systems (relays, mcc design, etc) and have a very different take on maintaining a system as a result. we maintained systems as a matter of safety and productivity. this isn’t just a truck roll to check terminations and maybe do a thermal scan, but revisiting the system design when a change was ordered. will this create a safety concern? will it cause a production stop? will the lines go down?

after a number of years in (mostly) software i’ve observed less tolerance for that level of analysis. i understand why it can/will impact velocity, and that the cost to change software (and time) is a fraction of that with physical systems...but still...a part of me winces whenever im like “screw it, im merging this sans impact analysis” ;)

has anyone else had a similar experience?

Re:Why Do People Neglect Maintenance? by an_d_rew on Friday October 11, 2019 @02:58PM (#21227302)
Amen.

My experience, exactly.

Re:Why Do People Neglect Maintenance? by BubRoss on Friday October 11, 2019 @10:49AM (#21224892)
Fire fighters are heros but the man who designs a house that never burns down is forgotten.
Re:Why Do People Neglect Maintenance? by eloisant on Friday October 11, 2019 @11:10AM (#21225099)
...and in our industry, the fire fighters praised by management are often the one who designed the house like a tinderbox.
Re:Why Do People Neglect Maintenance? by malms on Friday October 11, 2019 @12:40PM (#21225998)
plus amy would be fired because she has no work anymore
Re:Why Do People Neglect Maintenance? by reroute1 on Friday October 11, 2019 @12:47PM (#21226082)
Or conversely she could be rewarded for fixing the underlying problems and given a new, possibly similar task.