In 2008, Twitter wasn’t doing very well from a technical point of view. The software was failing frequently. Twitter’s management made a daring decision: they had an acquired company’s software developers fix problems the hard way—essentially rewrite a large part of the software bit by bit. This started to show results after six months and was largely finished after a year. Fred Wilson tells the story in his article, Grinding. I can assume the cost was in the millions.
This is a common story—at least the first part of the story, of software being built and reaching a point where it can’t be fixed any more. Sadly, the second part of the story is less common. Companies can’t or won’t fix it the hard way. You can probably feel it in some applications you are using, which may have started great but at some point they stopped evolving and are barely working.
An error people often do when deciding how to proceed with their IT is choosing a cheap option. But choosing an expensive option is no assurance either. There’s no easy answer to that problem (but I’m on the way to finding whatever answer there is).