Skip to main content Skip to search Skip to search

Computers Computer Science

Technical Debt in Practice

How to Find It and Fix It

by (author) Neil Ernst, Rick Kazman & Julien Delange

MIT Press
Initial publish date
Aug 2021
Computer Science, Reference, Systems Analysis & Design
  • Paperback / softback

    Publish Date
    Aug 2021
    List Price

Add it to your shelf

Where to buy it


The practical implications of technical debt for the entire software lifecycle; with examples and case studies.

Technical debt in software is incurred when developers take shortcuts and make ill-advised technical decisions in the initial phases of a project, only to be confronted with the need for costly and labor-intensive workarounds later. This book offers advice on how to avoid technical debt, how to locate its sources, and how to remove it. It focuses on the practical implications of technical debt for the entire software life cycle, with examples and case studies from companies that range from Boeing to Twitter.

Technical debt is normal; it is part of most iterative development processes. But if debt is ignored, over time it may become unmanageably complex, requiring developers to spend all of their effort fixing bugs, with no time to add new features--and after all, new features are what customers really value. The authors explain how to monitor technical debt, how to measure it, and how and when to pay it down. Broadening the conventional definition of technical debt, they cover requirements debt, implementation debt, testing debt, architecture debt, documentation debt, deployment debt, and social debt. They intersperse technical discussions with "Voice of the Practitioner" sidebars that detail real-world experiences with a variety of technical debt issues.

About the authors

Contributor Notes

Neil Ernst is Assistant Professor of Computer Science at the University of Victoria, British Columbia. Julien Delange is Staff Software Engineer at Twitter and Founder of Code Inspector, a technical debt platform analysis. Rick Kazman is Professor in the Department of Information Technology Management at the University of Hawaii and Visiting Researcher at the Software Engineering Institute at Carnegie Mellon University.