Re: Nothing new, kinda pathetic really
Very interesting post, thanks.
My only criticism is that I don't agree with this statement:
Those who adhere to the sunk cost fallacy (which is a most people) would say "legacy base is too big, got to stick with what we've already spent a lot of time and effort on".
Mainly because in this case this isn't a 'sunk cost fallacy' situation. Sunk cost fallacy refers to pushing ahead with what you have because you already spent so much on it, even though throwing it all away and starting again would be cheaper.
This is not the case. It would not be cheaper to throw it all away and start again.
Let's take Windows for an example. It'd take a decade and cost billions - 10's of billions - to write a new, ground up version for a completely new architectural paradigm hardware that had the same functional aspect as Windows does today. It'd have to be completely re-written ground up, from scratch, all in one hit, as since the entire paradigm is changing, there could be no, zero, code/library re-use. Not to mention, that assumes you already have in place a skilled workforce who understand this new paradigm and are proficient in it.
And while you work on this new system, what happens with existing Windows on x86/ARM (current architectural paradigms)? Do you let it stagnate? Just drop it entirely? Or, since it's an active revenue stream as opposed to the new work that won't be a revenue stream for another decade, do you keep working on it, spending the same amount of money on it that you would have anyway if this new paradigm wasn't being worked on? So now you are spending the billions you would have anyway on maintaining/updating/improving Windows, while spending the billions (or tens) on the new paradigm version. And what happens when the new paradigm version comes out, works perfectly to the functional specifications of what is now a 10-year old version of WIndows, because while the project spent a decade making windows for this new paradigm, the existing parallel 'legacy' windows has moved on during those 10 years.
This will apply to any existing, substantial, software system. DBs (Oracle, DB2, Postgres, etc.), CRM's etc., SAP and friends, Linux (kernel), Office-type apps, Photoshop and friends, and so on. While it may not matter particularly to relatively small software packages (sed, grep, notepad), rewriting from scratch software that has had decades of development - of functional enhancements - will cost a mint.
So it's not a 'sunk cost fallacy' problem, it's a "how much will it cost to replace these systems (including parallel development while the new systems are developed) versus just keeping upgrading/enhancing/modifying what we'vre already got?", and is it worth it?
Hey, maybe it is worth it. But it's not a case of "we've already spent X", it's "we have system A, which costs us X/year to keep supporting/improving, to replace it will cost (X + Y) * years", where Y is likely to be some multiple of X. While the resulting product may be better, cheaper, more secure, what's its payback time?