I know I don't have the expertise to argue with Joel Spolsky about software engineering, and while I agree that rewriting from scratch is a huge strategic mistake, it is hardly the worst.
Have any of you ever worked for a large engineering firm with a sizable operating budget? There are many "strategic" errors that happen on the daily basis in those kind of shops that range from software stack choices to engineering process drowned in bureaucracy. Rewriting code is hardly the worst.
Also, don't assume that even though rewriting code is bad for business, it's bad overall.
You iterate, and learn from mistakes you made that were caused by the lack of experience at the time previous code was written.
You de-couple components during a rewrite and eliminate unnecessary features, drastically improving maintainability.
You make it easier for other programmers (and yourself) to read the code.
You can alter core platform pieces, make tech stack alterations, and eliminate reliance on legacy components during a rewrite.
Have any of you ever worked for a large engineering firm with a sizable operating budget? There are many "strategic" errors that happen on the daily basis in those kind of shops that range from software stack choices to engineering process drowned in bureaucracy. Rewriting code is hardly the worst.
Also, don't assume that even though rewriting code is bad for business, it's bad overall.
You iterate, and learn from mistakes you made that were caused by the lack of experience at the time previous code was written.
You de-couple components during a rewrite and eliminate unnecessary features, drastically improving maintainability.
You make it easier for other programmers (and yourself) to read the code.
You can alter core platform pieces, make tech stack alterations, and eliminate reliance on legacy components during a rewrite.
The list goes on...