𝔖 Scriptorium
✦   LIBER   ✦

πŸ“

Managing Technical Debt: Reducing Friction in Software Development (SEI Series in Software Engineering)

✍ Scribed by Philippe Kruchten, Robert Nord, Ipek Ozkaya


Publisher
Addison-Wesley Professional
Year
2019
Tongue
English
Leaves
270
Edition
1
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis



β€œ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.

✦ Table of Contents


Cover
Half Title
Title Page
Copyright Page
Dedication
Contents at a Glance
Contents
Foreword
Preface
Acknowledgments
About the Authors
About the Contributors
Acronyms
SEI Figures for Managing Technical Debt
Part I: Exploring the Technical Debt Landscape
Chapter 1: Friction in Software Development
The Promise of Managing Technical Debt
Technical Debt A-B-C
Examples of Technical Debt
Your Own Story About Technical Debt?
Who Is This Book For?
Principles of Technical Debt Management
Navigating the Concepts of the Book
What Can You Do Today?
For Further Reading
Chapter 2: What Is Technical Debt?
Mapping the Territory
The Technical Debt Landscape
Technical Debt Items: Artifacts, Causes, and Consequences
Principal and Interest
Cost and Value
Potential Debt versus Actual Debt
The Technical Debt Timeline
What Can You Do Today?
For Further Reading
Chapter 3: Moons of Saturnβ€”The Crucial Role of Context
β€œIt Depends…”
Three Case Studies: Moons of Saturn
Technical Debt in Context
What Can You Do Today?
For Further Reading
Part II: Analyzing Technical Debt
Chapter 4: Recognizing Technical Debt
Where Does It Hurt?
What Are the Visible Consequences of Technical Debt?
Writing a Technical Debt Description
Understanding the Business Context for Assessing Technical Debt
Assessing Artifacts Across the Technical Debt Landscape
What Can You Do Today?
For Further Reading
Chapter 5: Technical Debt and the Source Code
Looking for the Magic Wand
Understand Key Business Goals
Identify Questions About the Source Code
Define the Observable Measurement Criteria
Select and Apply an Analysis Tool
Document the Technical Debt Items
Then Iterate
What Happens Next?
What Can You Do Today?
For Further Reading
Chapter 6: Technical Debt and Architecture
Beyond the Code
Ask the Designers
Examine the Architecture
Examine the Code to Get Insight into the Architecture
The Case of Technical Debt in the Architecture of Phoebe
What Can You Do Today?
For Further Reading
Chapter 7: Technical Debt and Production
Beyond the Architecture, the Design, and the Code
Build and Integration Debt
Testing Debt
Infrastructure Debt
The Case of Technical Debt in the Production of Phoebe
What Can You Do Today?
For Further Reading
Part III: Deciding What Technical Debt to Fix
Chapter 8: Costing the Technical Debt
Shining an Economic Spotlight on Technical Debt
Refine the Technical Debt Description
Calculate the Cost of Remediation
Calculate the Recurring Interest
Compare Cost and Benefit
Manage Technical Debt Items Collectively
What Can You Do Today?
For Further Reading
Chapter 9: Servicing the Technical Debt
Weighing the Costs and Benefits
Paths for Servicing Technical Debt
The Release Pipeline
The Business Case for Technical Debt as an Investment
What Can You Do Today?
For Further Reading
Part IV: Managing Technical Debt Tactically and Strategically
Chapter 10: What Causes Technical Debt?
The Perplexing Art of Identifying What Causes Debt
The Roots of Technical Debt
What Causes Technical Debt?
Causes Rooted in the Business
Causes Arising from Change in Context
Causes Associated with the Development Process
Causes Arising from People and Team
To Conclude
What Can You Do Today?
For Further Reading
Chapter 11: Technical Debt Credit Check
Identifying Causes: Technical Debt Credit Check
Four Focus Areas for Understanding the State of a Project
Diagnosing the Causes of Technical Debt in Phoebe
Diagnosing the Causes of Technical Debt in Tethys
What Can You Do Today?
For Further Reading
Chapter 12: Avoiding Unintentional Debt
Software Engineering in a Nutshell
Code Quality and Unintentional Technical Debt
Architecture, Production, and Unintentional Technical Debt
What Can You Do Today?
For Further Reading
Chapter 13: Living with Your Technical Debt
Your Technical Debt Toolbox
On the Three Moons of Saturn…
Technical Debt and Software Development
Finale
Glossary
A
B
C
D
F
I
P
Q
R
S
T
V
References
Index
A
B
C
D
E
F
G
H
I
J-K
L
M
N
O
P
Q
R
S
T
U
V
W
X-Y-Z


πŸ“œ SIMILAR VOLUMES


Managing Technical Debt: Reducing Fricti
✍ Philippe Kruchten, Robert Nord, Ipek Ozkaya πŸ“‚ Library πŸ“… 2019 πŸ› Addison-Wesley Professional 🌐 English

β€œ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 respo

Managing Risk: Methods for Software Syst
✍ Elaine M. Hall πŸ“‚ Library πŸ“… 1998 πŸ› Addison Wesley 🌐 English

"The increasing rate of technological change we are experiencing in our lifetime yields competitive advantage to organizations and individuals who are willing to embrace risk and the opportunities it presents. Those who choose to minimize or avoid risk, as opposed to managing it, set a course for ob

Software Architecture in Practice (SEI S
✍ Len Bass, Paul Clements, Rick Kazman πŸ“‚ Library πŸ“… 2021 πŸ› Addison-Wesley Professional 🌐 English

<b>The Definitive, Practical, Proven Guide to Architecting Modern Software--Fully Updated with New Content on Mobility, the Cloud, Energy Management, DevOps, Quantum Computing, and More</b> Updated with eleven new chapters, <i><b>Software Architecture in Practice, Fourth Edition</b></i>, thorou

Software Architecture in Practice (SEI S
✍ Len Bass, Paul Clements, Rick Kazman πŸ“‚ Library πŸ“… 2021 πŸ› Addison-Wesley Professional 🌐 English

<b>The Definitive, Practical, Proven Guide to Architecting Modern Software--Fully Updated with New Content on Mobility, the Cloud, Energy Management, DevOps, Quantum Computing, and More</b> Updated with eleven new chapters, <i><b>Software Architecture in Practice, Fourth Edition</b></i>, thorou

TSP(SM) Coaching Development Teams (SEI
✍ Watts S. Humphrey πŸ“‚ Library πŸ“… 2006 πŸ› Addison Wesley 🌐 English

<p>Most modern software development projects require teams, and good teamwork largely determines a project’s success. The Team Software Process (TSP), created by <b>Watts S. Humphrey,</b> is a set of engineering practices and team concepts that produce effective teams, thereby helping developers del

Managing Software Debt: Building for Ine
✍ Chris Sterling πŸ“‚ Library πŸ“… 2010 πŸ› Addison-Wesley Professional 🌐 English

Shipping imperfect software is like going into debt. When you incur debt, the illusion of doing things faster can lead to exponential growth in the cost of maintaining software. Software debt takes five major forms: technical, quality, configuration management, design, and platform experience. In to