Managing Technical Debt. (Communications of the ACM, 2012)
The article focuses on the concept of technical debt, or shortcuts that can accelerate progress in software engineering or reduce costs while potentially increasing expenses or slowing down progress in the future. It states technical debt occurs when engineers fail to utilize best practices and compares technical debt to financial debt. It mentions that software developers are rewarded on the speed of implementation more than long-term maintainability which provides little incentive for initial developers to properly do the job the first time. It suggests the avoidance of some technical debts such as taking shortcuts in security and comments on the tendency for Web-based services to take on and resolve technical debt.