Recently, Jason, one of Sema's founders, posted a thought-provoking article on technical debt. As he points out, technical debt is analogous to financial debt and software accrues technical debt when teams decide to defer all those “little” non-functional things.
I still remember my first assignment on my first job. It was a four-month project to improve the performance of an application critical to providing workforce services to the state of North Dakota. The year was 1987 and the application was written in COBOL. Our team worked for four months on tens of thousands of lines of code and improved performance to more than the target. An achievement to be proud of, but all we did for four months was refactor code. We developed no new functionality.