Typically this is a death knell for a software project -- however well-reasoned, well-intentioned, and well-planned.
Typically this is a death knell for a software project -- however well-reasoned, well-intentioned, and well-planned.
Only according to a popular, but not exactly scientific, old-wives tale of an article by Joel Spolsky.
Lots of commercial apps that had end-to-end redesigns with improved engines (DAWs, NLEs, etc), and did it just fine.
FCP to FCPX is one example, Cubase circa SX era, lots of others...
Even Joel's example, Firefox, is only viable today because they did many redesigns. If it was still the old Mozilla era-4 codebase + cruft upon cruft, it would matter even less.
The new system is clearly better than the old one. If we had refactored in place we wouldn't have the same system as we have now. With the benefit of hindsight, I can now see some places in the new system that are not working as well as hoped and we are working on a plan to refactor those parts in place to something better.
I'm not 100% sure, but I'm under the impression that imdb.com pulled off such a rewrite a couple of years ago.
It's certainly not something to be taken lightly or by people who don't understand the intricacies of the original system (Chestertons fence) but I think people are sometimes too reluctant to do this sort of thing.
i've watched this cliche doom more projects than the actual attempts at rewriting/rearchitecting.
midwit managers crying "oh engineers always want to throw everyone else's work away" have basically banned redoing anything, no matter how dire the situation.
> In order to get the release of 4.0 out as fast as possible, we will be porting over many of our less used interface elements and dialogs directly from MuseScore 3. The plan is to gradually replace these with redesigned versions (built in QML) in subsequent releases (4.1, 4.2, etc.).
That doesn't sound unreasonable to me.
beh, that's what we did for at some point for ossia.io and it turned out very very well