←back to thread

361 points mmphosis | 1 comments | | HN request time: 0.222s | source
Show context
zombiwoof ◴[] No.42166201[source]
Seems like the definition here of software is always “maintenance” of something as is, like replacing the boards on Theseus

Sometimes software is hard and 10x engineers just need to rewrite the whole thing or replace large systems

To subscribe to some world where we have to do that in “small changes” limits us

We shouldn’t make process to the weakest engineers

replies(6): >>42166367 #>>42166537 #>>42167411 #>>42167508 #>>42167881 #>>42174018 #
1. adamredwoods ◴[] No.42167411[source]
I've dealt with both: 1. maintenance coding 2. re-write coding

Re-writes take forever, because a lot of the edge cases and bug fixes are lost [1]. You might think they go away, and some do, but new ones are introduced. QA process is critical. Management becomes critical of excuses, and the longer the project is drawn out, the more they get involved. The final shift to a new system is never one-and-done. Management is paying for two systems, canary deploy.

Smaller re-writes are the ideal practice, and your code base is set up this way already, right?

Maintenance code is cheapest.

[1] https://www.joelonsoftware.com/2000/04/06/things-you-should-...