5 ms·
While I understand the point being made here, it is worth remembering that cabinets are not continuously modified by large teams for years on end. Corner-cutti
by rossng 10y ago
While I understand the point being made here, it is worth remembering that cabinets are not continuously modified by large teams for years on end.
Corner-cutting generally makes things harder to maintain, which has a severe knock-on effect in software, less so for furniture. As a result, I think there are often fewer corners that can be safely cut in software. So, in many scenarios, this advice essentially boils down to the somewhat self-evident 'don't do completely pointless things'.
- fisherjeff 10y agoCabinets might not be continuously modified for years, but the house as a whole will be. The backs of the cabinets will continue to matter much less than the fronts, both for aesthetics and maintainability. On the other hand, somebody's definitely going to regret that hacky thing you did inside the wall when you remodeled the kitchen and knew it was a bad idea at the time but did it anyway. Admittedly, though, I may just be too emotionally invested in this analogy thanks to my house's previous owner's infuriating obsession with construction adhesive.
- knieveltech 10y agoI literally facepalmed when I got to "construction adhesive". You have my heartfelt sympathy.
- Loughla 10y agoThe people who invented construction adhesive, expanding foam sealant, and that stupid rubber-in-a-can sealer need to all be drug out into the street and shot.
- Bartweiss 10y agoThat foam sealant is a crime against construction. It's always hideous, and usually far more long term trouble than a proper solution would be.
- dkural 10y agoAt least in a private industry context - tis is the #1 reason how developers often justify over-engineering. Actually, vast majority of software either never ships or fails to achieve any meaningful use / market leadership (i.e. no one buys it), because the engineering team was too busy future-proofing it. The truth is, your software is most likely to become irrelevant lightning fast (remember the 90s?), and you should consider yourself lucky to incur maintenance debt :)
- eridius 10y agoCutting corners in order to move fast means that later on, when you're dealing with competitors and upstarts trying to take your place, you can no longer move fast enough because of all the technical debt you incurred early on.
- saiya-jin 10y agoyes but... if you don't deliver, there won't be no future for product. anyway, every single product out there got major overhaul/complete rewrite every few years/versions. I think this often boils down to key people's personality traits - to have everything possible under control. can work on smaller parts/projects where it delivers well, but once applied at large scale can fail spectacularly. I wish I could say what that magical silver bullet is, but it's specific per case - a fine balance of effort/real value, with just enough resilience to not fail too fast. or maybe not.
- eridius 10y ago> every single product out there got major overhaul/complete rewrite every few years/versions That's just wishful thinking. Most products do not go through a complete rewrite. They may change dramatically over time, but that's typically due to incremental changes, not a from-scratch rewrite. For context, I'm working on a project right now that has a reasonable amount of technical debt incurred at least 4 years ago. We're eventually going to have to rewrite big chunks of the app specifically because those parts aren't very maintainable. If they had been written correctly the first time we wouldn't have this issue. And in this case, it shouldn't have been hard to write it correctly; doing things right does not necessarily mean doing them slower.
- ArkyBeagle 10y agoI'd throw "the perfect is the enemy of the good enough" on as well.