Is it the case that "rewrites fail" only applies when you have an active available system with state though? I don't know that I've ever seen this disclaimer before.
I'm very curious if this is the biggest reason behind why people advocate for Joel Spolsky-style "never re-write it" approach. Because I would very much like to do a start from scratch on my own codebase, and it doesn't have any of those availability limitations. But I still haven't been able to make space to do it without stopping the world because we have customers who are currently using the code who expect new features and support.
Are we saying that the balance only tips towards "don't rewrite it" when your code runs an always available service though? If your code is merely a product that works on a release schedule, is it now ok to splinter off a Project Phoenix team to make the new hotness? Very curious what people's experience is.
It's just a lot more difficult when you have state and a World to preserve. You need to build the migration from the old to the new from early on. Hard to say if it is the largest factor to consider. It's very rare to see a company do a reason other than they are being forced to do it.
I'm very curious if this is the biggest reason behind why people advocate for Joel Spolsky-style "never re-write it" approach. Because I would very much like to do a start from scratch on my own codebase, and it doesn't have any of those availability limitations. But I still haven't been able to make space to do it without stopping the world because we have customers who are currently using the code who expect new features and support.
Are we saying that the balance only tips towards "don't rewrite it" when your code runs an always available service though? If your code is merely a product that works on a release schedule, is it now ok to splinter off a Project Phoenix team to make the new hotness? Very curious what people's experience is.