On technical debt
medium.com
medium.com
To put it another way, technical debt doesn't have to be repaid if the product/project/company fails. Even better it doesn't have to be repaid if the company succeeds to a scale where the library/product/project becomes obsolescent and must be replaced for reasons that could not have been reasonably anticipated at the time the first iteration was created.
In the end we went for a combination of large re-writes (which we didn't feel good about, heeding Joel Spolskys advice) and Strangulation Architecture.
Spolsky's advice regarding rewrites highlights perhaps different kinds of technical debt. The code for Fogbugz was well written VBscript and the motivation for Wasabi was expanding the market for Fogbugz to Linux...I believe this produced an incremental increase of about 10% of sales.
Wasabi was a tool that supported the product and where the technical debt accrued. We might call the issue with Fogbugz "platform debt" and at the time Fogbugz was written, few people would have anticipated the growth of Linux...and based on Spolsky's description of sales, focusing on Windows was a sound platform choice -- in 2000 Fogbugz would have been unlikely to have succeeded in its market as a web based product.