Technical Debt: How to Find It and Fix It
Technical debt in software is incurred when developers take shortcuts and make ill-advised technical decisions in the early phases of a project—typically in the rush to deliver something—only to be confronted with the consequences of those shortcuts later: the need for costly and labor-intensive workarounds, high rates of bugs, and low productivity. In this talk I will introduce the general notion of technical debt, and discuss its many manifestations and why you should care about it. Then I will zero in on a specific kind of technical debt—design debt. I will outline the causes of design debt and briefly describe how this debt can actually be quantified. Finally I will present two brief industrial case studies on how design debt was detected and remediated.