Hacker News new | ask | show | jobs
by skydhash 248 days ago
The things is most times, you are indeed buying the car that is going to make the delivery. And it's going to live in your garage. And if you're not careful, one day it will drive itself off a cliff, stall in the middle of a 10 hour drive, or you'll get robbed by individuals hiding in the trunk.

People that realize this care about their oil type and what tire they put on. People that do not, pay it forward when that crash does happen and they don't know how to recover, so queue up the war room, etc...

Even if you're not dogfooding your own software, if you do not take care of it properly, the cost of changes will climb up.

1 comments

> Even if you're not dogfooding your own software, if you do not take care of it properly, the cost of changes will climb up.

How do you mean? If the software works, then it's done. There is no maintenance and it will continue working like that for decades. It doesn't have corrosion and moving parts like a car. Businesses make sure not to touch it or the systems it is depending on.

That would be fine if the dependencies were permanent. Hardware fail and need to be replaced. The OS will be upgraded (macOS is more than happy to make breaking changes). If the software is networked, that’s another transient plane. Libraries will fall out of support range.

Then there’s the fact that the user’s needs fluctuate. Imagine having to pay for a whole another software because the current code is spaghetti and full of hardcoded value and magic constants. It worked, but now you want a slight adjustment, but that can’t no longer be made unless you’re willing to rewrite the whole thing (and pay for it). That would be like having to buy a whole new car, because you moved to the house next door, as the car is hardwired to move only between your old place and where you work.

In my opinion, the OS should not be updated. Not if important software is running on the machine. That's why we see cash registers still using Windows XP.

Sure, if you test it and see that there is no issue with updating, then you can update if you want. But neither the OS or the hardware or anything else should get any priority over the business-crucial software you are running. Even with hardware failures, the better option is to get older hardware for replacement if newer hardware has compatibility issues.