Managing Technical Debt: Reducing Friction in Software Development

“This is an incredibly wise and useful book. The authors have considerable real-world experience in delivering quality systems that matter, and their expertise shines through in these pages. Here you will learn what technical debt is, what is it not, how to manage it, and how to pay it down in responsible ways. This is a book I wish I had when I was just beginning my career. The authors present a myriad of case studies, born from years of experience, and offer a multitude of actionable insights for how to apply it to your project.”
–Grady Booch, IBM Fellow
Master Best Practices for Managing Technical Debt to Promote Software Quality and Productivity
As software systems mature, earlier design or code decisions made in the context of budget or schedule constraints increasingly impede evolution and innovation. This phenomenon is called technical debt, and practical solutions exist. In Managing Technical Debt, three leading experts introduce integrated, empirically developed principles and practices that any software professional can use to gain control of technical debt in any software system.

Using real-life examples, the authors explain the forms of technical debt that afflict software-intensive systems, their root causes, and their impacts. They introduce proven approaches for identifying and assessing specific sources of technical debt, limiting new debt, and “paying off” debt over time. They describe how to establish managing technical debt as a core software engineering practice in your organization.
  • Discover how technical debt damages manageability, quality, productivity, and morale–and what you can do about it
  • Clarify root causes of debt, including the linked roles of business goals, source code, architecture, testing, and infrastructure
  • Identify technical debt items, and analyze their costs so you can prioritize action
  • Choose the right solution for each technical debt item: eliminate, reduce, or mitigate
  • Integrate software engineering practices that minimize new debt

Managing Technical Debt will be a valuable resource for every software professional who wants to accelerate innovation in existing systems, or build new systems that will be easier to maintain and evolve.
1132519644
Managing Technical Debt: Reducing Friction in Software Development

“This is an incredibly wise and useful book. The authors have considerable real-world experience in delivering quality systems that matter, and their expertise shines through in these pages. Here you will learn what technical debt is, what is it not, how to manage it, and how to pay it down in responsible ways. This is a book I wish I had when I was just beginning my career. The authors present a myriad of case studies, born from years of experience, and offer a multitude of actionable insights for how to apply it to your project.”
–Grady Booch, IBM Fellow
Master Best Practices for Managing Technical Debt to Promote Software Quality and Productivity
As software systems mature, earlier design or code decisions made in the context of budget or schedule constraints increasingly impede evolution and innovation. This phenomenon is called technical debt, and practical solutions exist. In Managing Technical Debt, three leading experts introduce integrated, empirically developed principles and practices that any software professional can use to gain control of technical debt in any software system.

Using real-life examples, the authors explain the forms of technical debt that afflict software-intensive systems, their root causes, and their impacts. They introduce proven approaches for identifying and assessing specific sources of technical debt, limiting new debt, and “paying off” debt over time. They describe how to establish managing technical debt as a core software engineering practice in your organization.
  • Discover how technical debt damages manageability, quality, productivity, and morale–and what you can do about it
  • Clarify root causes of debt, including the linked roles of business goals, source code, architecture, testing, and infrastructure
  • Identify technical debt items, and analyze their costs so you can prioritize action
  • Choose the right solution for each technical debt item: eliminate, reduce, or mitigate
  • Integrate software engineering practices that minimize new debt

Managing Technical Debt will be a valuable resource for every software professional who wants to accelerate innovation in existing systems, or build new systems that will be easier to maintain and evolve.
37.99 In Stock
Managing Technical Debt: Reducing Friction in Software Development

Managing Technical Debt: Reducing Friction in Software Development

by Philippe Kruchten, Ipek Ozkaya
Managing Technical Debt: Reducing Friction in Software Development

Managing Technical Debt: Reducing Friction in Software Development

by Philippe Kruchten, Ipek Ozkaya

eBook

$37.99 

Available on Compatible NOOK devices, the free NOOK App and in My Digital Library.
WANT A NOOK?  Explore Now

Related collections and offers


Overview


“This is an incredibly wise and useful book. The authors have considerable real-world experience in delivering quality systems that matter, and their expertise shines through in these pages. Here you will learn what technical debt is, what is it not, how to manage it, and how to pay it down in responsible ways. This is a book I wish I had when I was just beginning my career. The authors present a myriad of case studies, born from years of experience, and offer a multitude of actionable insights for how to apply it to your project.”
–Grady Booch, IBM Fellow
Master Best Practices for Managing Technical Debt to Promote Software Quality and Productivity
As software systems mature, earlier design or code decisions made in the context of budget or schedule constraints increasingly impede evolution and innovation. This phenomenon is called technical debt, and practical solutions exist. In Managing Technical Debt, three leading experts introduce integrated, empirically developed principles and practices that any software professional can use to gain control of technical debt in any software system.

Using real-life examples, the authors explain the forms of technical debt that afflict software-intensive systems, their root causes, and their impacts. They introduce proven approaches for identifying and assessing specific sources of technical debt, limiting new debt, and “paying off” debt over time. They describe how to establish managing technical debt as a core software engineering practice in your organization.
  • Discover how technical debt damages manageability, quality, productivity, and morale–and what you can do about it
  • Clarify root causes of debt, including the linked roles of business goals, source code, architecture, testing, and infrastructure
  • Identify technical debt items, and analyze their costs so you can prioritize action
  • Choose the right solution for each technical debt item: eliminate, reduce, or mitigate
  • Integrate software engineering practices that minimize new debt

Managing Technical Debt will be a valuable resource for every software professional who wants to accelerate innovation in existing systems, or build new systems that will be easier to maintain and evolve.

Product Details

ISBN-13: 9780135645963
Publisher: Pearson Education
Publication date: 04/15/2019
Series: SEI Series in Software Engineering
Sold by: Barnes & Noble
Format: eBook
Pages: 272
File size: 4 MB
Age Range: 18 Years

About the Author

Philippe Kruchten is a professor of software engineering at the University of British Columbia in Vancouver, Canada. He joined academia in 2004, after a 30+-year career in industry, where he worked mostly with large software-intensive systems design in the domains of telecommunication, defense, aerospace, and transportation. Some of his experience in software development is embodied in the Rational Unified Process (RUP), whose development he directed from 1995 until 2003. He’s the author or co-author of Rational Unified Process: An Introduction (Addison-Wesley, 1998), RUP Made Easy: A Practitioner’s Guide (Addison-Wesley, 2003), and Software Engineering with UPEDU (Addison-Wesley, 2003), as well as earlier books about programming in Pascal and Ada. He received a doctoral degree in information systems (1986) and a mechanical engineering degree (1975) from French engineering schools.

Robert Nord is a principal researcher at the Carnegie Mellon University Software Engineering Institute, where he works to develop and communicate effective methods and practices for agile at scale, software architecture, and managing technical debt. He is coauthor of the practitioner-oriented books Applied Software Architecture (Addison-Wesley, 2000) and Documenting Software Architectures: Views and Beyond (Addison-Wesley, 2011) and lectures on architecture-centric approaches. He received a PhD in computer science from Carnegie Mellon University and is a distinguished member of the ACM.

Ipek Ozkaya is a principal researcher at the Carnegie Mellon University Software Engineering Institute. Her primary work includes developing techniques for improving software development efficiency and system evolution, with an emphasis on software architecture practices, software economics, agile development, and managing technical debt in complex, large-scale software-intensive systems. In addition, as part of her responsibilities, she works with government and industry organizations to improve their software architecture practices. She received a PhD in Computational Design from Carnegie Mellon University. Ozkaya is a senior member of IEEE and the 2019—2021 editor-in-chief of IEEE Software magazine.

Table of Contents

  • Part I: Exploring the Technical Debt Landscape
  • Chapter 1: Friction in Software Development
  • Chapter 2: What Is Technical Debt?
  • Chapter 3: Moons of Saturn–The Crucial Role of Context
  • Part II: Analyzing Technical Debt
  • Chapter 4: Recognizing Technical Debt
  • Chapter 5: Technical Debt and the Source Code
  • Chapter 6: Technical Debt and Architecture
  • Chapter 7: Technical Debt and Production
  • Part III: Deciding What Technical Debt to Fix
  • Chapter 8: Costing the Technical Debt
  • Chapter 9: Servicing the Technical Debt
  • Part IV: Managing Technical Debt Tactically and Strategically
  • Chapter 10: What Causes Technical Debt?
  • Chapter 11: Technical Debt Credit Check
  • Chapter 12: Avoiding Unintentional Debt
  • Chapter 13: Living with Your Technical Debt
  • Glossary
  • References
From the B&N Reads Blog

Customer Reviews