Article ID Journal Published Year Pages File Type
487845 Procedia Computer Science 2014 8 Pages PDF
Abstract

“Technical Debt” is a term first used by Ward Cunningham in an experience report in 1992.1 The term refers to the accruing debt or downstream cost that happens when short term priorities trump long term lifecycle costs. The term, when introduced, was used in the context of the development of software systems. However, since 1992, the field of systems engineering has evolved, and it has been found that technical debt also applies to the development and construction of systems. This paper takes a contrary view; technical debt is discussed mostly in the context of bad practices; the author contends that the focus should be on system principles that preclude the introduction, either anticipated or unanticipated, of negative lifecycle impacts. A set of heuristics is presented that describes what should be done rather than what should not be done. From these heuristics, some emergent trends will be identified. Such trends may be leveraged to design systems with reduced long term lifecycle costs and, on occasion, unexpected benefits.

Related Topics
Physical Sciences and Engineering Computer Science Computer Science (General)