Philippe Kruchten, Robert Nord, Robert Nord
Managing Technical Debt
Reducing Friction in Software Development
Philippe Kruchten, Robert Nord, Robert Nord
Managing Technical Debt
Reducing Friction in Software Development
- Broschiertes Buch
- Merkliste
- Auf die Merkliste
- Bewerten Bewerten
- Teilen
- Produkt teilen
- Produkterinnerung
- Produkterinnerung
Over time, technical debt affects virtually every significant software project. As software systems evolve, earlier design or code decisions prove to be "not quite right," gradually becoming impediments that slow down the evolution of the system, or even grind it to a halt. Most software practitioners have experienced this phenomenon, but many feel helpless to address it. In this guide, three leading software engineering experts introduce empirically validated principles and practices for managing and mitigating technical debt in any software system. Using real-life examples, the authors…mehr
Andere Kunden interessierten sich auch für
- Neil ErnstTechnical Debt in Practice39,99 €
- Nicholas Pierce (Virginia Peninsula Community College)Comptia A+ Guide to Information Technology Technical Support108,99 €
- CEdMA EuropeTechnical Training Management43,99 €
- John VenturaManaging Debt for Dummies16,99 €
- Jill West (Georgia Northwestern Technical College)CompTIA A+ Guide to IT Technical Support97,99 €
- Krista Van LaanThe Insider's Guide to Technical Writing39,99 €
- Len BassSoftware Architecture in Practice59,99 €
-
-
-
Over time, technical debt affects virtually every significant software project. As software systems evolve, earlier design or code decisions prove to be "not quite right," gradually becoming impediments that slow down the evolution of the system, or even grind it to a halt. Most software practitioners have experienced this phenomenon, but many feel helpless to address it. In this guide, three leading software engineering experts introduce empirically validated principles and practices for managing and mitigating 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. Next, they introduce a palette of proven approaches, strategies, methods, and tools for:
Hinweis: Dieser Artikel kann nur an eine deutsche Lieferadresse ausgeliefert werden.
Using real-life examples, the authors explain the forms of technical debt that afflict software-intensive systems, their root causes, and their impacts. Next, they introduce a palette of proven approaches, strategies, methods, and tools for:
- Identifying sources of technical debt in any software system
- Assessing the magnitude of technical debt
- Limiting the introduction of technical debt in the first place
- Reducing the impact of technical debt over time
Hinweis: Dieser Artikel kann nur an eine deutsche Lieferadresse ausgeliefert werden.
Produktdetails
- Produktdetails
- SEI Series in Software Engineering
- Verlag: Addison-Wesley
- Seitenzahl: 272
- Erscheinungstermin: 13. Juni 2019
- Englisch
- Abmessung: 231mm x 177mm x 17mm
- Gewicht: 443g
- ISBN-13: 9780135645932
- ISBN-10: 013564593X
- Artikelnr.: 54597141
- SEI Series in Software Engineering
- Verlag: Addison-Wesley
- Seitenzahl: 272
- Erscheinungstermin: 13. Juni 2019
- Englisch
- Abmessung: 231mm x 177mm x 17mm
- Gewicht: 443g
- ISBN-13: 9780135645932
- ISBN-10: 013564593X
- Artikelnr.: 54597141
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.
Foreword xiii
Preface xv
Part I: Exploring the Technical Debt Landscape 1
Chapter 1: Friction in Software Development 3
The Promise of Managing Technical Debt 3
Technical Debt A-B-C 5
Examples of Technical Debt 6
Your Own Story About Technical Debt? 11
Who Is This Book For? 12
Principles of Technical Debt Management 13
Navigating the Concepts of the Book 14
What Can You Do Today? 16
For Further Reading 17
Chapter 2: What Is Technical Debt? 19
Mapping the Territory 19
The Technical Debt Landscape 20
Technical Debt Items: Artifacts, Causes, and Consequences 22
Principal and Interest 24
Cost and Value 27
Potential Debt versus Actual Debt 32
The Technical Debt Timeline 33
What Can You Do Today? 35
For Further Reading 35
Chapter 3: Moons of Saturn–The Crucial Role of Context 37
“It Depends…” 37
Three Case Studies: Moons of Saturn 39
Technical Debt in Context 44
What Can You Do Today? 48
For Further Reading 48
Part II: Analyzing Technical Debt 49
Chapter 4: Recognizing Technical Debt 51
Where Does It Hurt? 51
What Are the Visible Consequences of Technical Debt? 54
Writing a Technical Debt Description 55
Understanding the Business Context for Assessing Technical Debt 58
Assessing Artifacts Across the Technical Debt Landscape 60
What Can You Do Today? 63
For Further Reading 64
Chapter 5: Technical Debt and the Source Code 65
Looking for the Magic Wand 65
Understand Key Business Goals 68
Identify Questions About the Source Code 70
Define the Observable Measurement Criteria 72
Select and Apply an Analysis Tool 75
Document the Technical Debt Items 76
Then Iterate 78
What Happens Next? 79
What Can You Do Today? 80
For Further Reading 81
Chapter 6: Technical Debt and Architecture 83
Beyond the Code 83
Ask the Designers 86
Examine the Architecture 89
Examine the Code to Get Insight into the Architecture 93
The Case of Technical Debt in the Architecture of Phoebe 94
What Can You Do Today? 101
For Further Reading 101
Chapter 7: Technical Debt and Production 103
Beyond the Architecture, the Design, and the Code 103
Build and Integration Debt 106
Testing Debt 109
Infrastructure Debt 110
The Case of Technical Debt in the Production of Phoebe 110
What Can You Do Today? 113
For Further Reading 113
Part III: Deciding What Technical Debt to Fix 115
Chapter 8: Costing the Technical Debt 117
Shining an Economic Spotlight on Technical Debt 117
Refine the Technical Debt Description 119
Calculate the Cost of Remediation 121
Calculate the Recurring Interest 122
Compare Cost and Benefit 123
Manage Technical Debt Items Collectively 127
What Can You Do Today? 129
For Further Reading 130
Chapter 9: Servicing the Technical Debt 131
Weighing the Costs and Benefits 131
Paths for Servicing Technical Debt 136
The Release Pipeline 142
The Business Case for Technical Debt as an Investment 143
What Can You Do Today? 146
For Further Reading 147
Part IV: Managing Technical Debt Tactically and Strategically 149
Chapter 10: What Causes Technical Debt? 151
The Perplexing Art of Identifying What Causes Debt 151
The Roots of Technical Debt 153
What Causes Technical Debt? 154
Causes Rooted in the Business 155
Causes Arising from Change in Context 157
Causes Associated with the Development Process 159
Causes Arising from People and Team 162
To Conclude 165
What Can You Do Today? 165
For Further Reading 166
Chapter 11: Technical Debt Credit Check 167
Identifying Causes: Technical Debt Credit Check 167
Four Focus Areas for Understanding the State of a Project 170
Diagnosing the Causes of Technical Debt in Phoebe 172
Diagnosing the Causes of Technical Debt in Tethys 174
What Can You Do Today? 177
For Further Reading 178
Chapter 12: Avoiding Unintentional Debt 179
Software Engineering in a Nutshell 179
Code Quality and Unintentional Technical Debt 180
Architecture, Production, and Unintentional Technical Debt 185
What Can You Do Today? 193
For Further Reading 193
Chapter 13: Living with Your Technical Debt 195
Your Technical Debt Toolbox 195
On the Three Moons of Saturn… 201
Technical Debt and Software Development 204
Finale 205
Glossary 207
References 209
Index 217
Preface xv
Part I: Exploring the Technical Debt Landscape 1
Chapter 1: Friction in Software Development 3
The Promise of Managing Technical Debt 3
Technical Debt A-B-C 5
Examples of Technical Debt 6
Your Own Story About Technical Debt? 11
Who Is This Book For? 12
Principles of Technical Debt Management 13
Navigating the Concepts of the Book 14
What Can You Do Today? 16
For Further Reading 17
Chapter 2: What Is Technical Debt? 19
Mapping the Territory 19
The Technical Debt Landscape 20
Technical Debt Items: Artifacts, Causes, and Consequences 22
Principal and Interest 24
Cost and Value 27
Potential Debt versus Actual Debt 32
The Technical Debt Timeline 33
What Can You Do Today? 35
For Further Reading 35
Chapter 3: Moons of Saturn–The Crucial Role of Context 37
“It Depends…” 37
Three Case Studies: Moons of Saturn 39
Technical Debt in Context 44
What Can You Do Today? 48
For Further Reading 48
Part II: Analyzing Technical Debt 49
Chapter 4: Recognizing Technical Debt 51
Where Does It Hurt? 51
What Are the Visible Consequences of Technical Debt? 54
Writing a Technical Debt Description 55
Understanding the Business Context for Assessing Technical Debt 58
Assessing Artifacts Across the Technical Debt Landscape 60
What Can You Do Today? 63
For Further Reading 64
Chapter 5: Technical Debt and the Source Code 65
Looking for the Magic Wand 65
Understand Key Business Goals 68
Identify Questions About the Source Code 70
Define the Observable Measurement Criteria 72
Select and Apply an Analysis Tool 75
Document the Technical Debt Items 76
Then Iterate 78
What Happens Next? 79
What Can You Do Today? 80
For Further Reading 81
Chapter 6: Technical Debt and Architecture 83
Beyond the Code 83
Ask the Designers 86
Examine the Architecture 89
Examine the Code to Get Insight into the Architecture 93
The Case of Technical Debt in the Architecture of Phoebe 94
What Can You Do Today? 101
For Further Reading 101
Chapter 7: Technical Debt and Production 103
Beyond the Architecture, the Design, and the Code 103
Build and Integration Debt 106
Testing Debt 109
Infrastructure Debt 110
The Case of Technical Debt in the Production of Phoebe 110
What Can You Do Today? 113
For Further Reading 113
Part III: Deciding What Technical Debt to Fix 115
Chapter 8: Costing the Technical Debt 117
Shining an Economic Spotlight on Technical Debt 117
Refine the Technical Debt Description 119
Calculate the Cost of Remediation 121
Calculate the Recurring Interest 122
Compare Cost and Benefit 123
Manage Technical Debt Items Collectively 127
What Can You Do Today? 129
For Further Reading 130
Chapter 9: Servicing the Technical Debt 131
Weighing the Costs and Benefits 131
Paths for Servicing Technical Debt 136
The Release Pipeline 142
The Business Case for Technical Debt as an Investment 143
What Can You Do Today? 146
For Further Reading 147
Part IV: Managing Technical Debt Tactically and Strategically 149
Chapter 10: What Causes Technical Debt? 151
The Perplexing Art of Identifying What Causes Debt 151
The Roots of Technical Debt 153
What Causes Technical Debt? 154
Causes Rooted in the Business 155
Causes Arising from Change in Context 157
Causes Associated with the Development Process 159
Causes Arising from People and Team 162
To Conclude 165
What Can You Do Today? 165
For Further Reading 166
Chapter 11: Technical Debt Credit Check 167
Identifying Causes: Technical Debt Credit Check 167
Four Focus Areas for Understanding the State of a Project 170
Diagnosing the Causes of Technical Debt in Phoebe 172
Diagnosing the Causes of Technical Debt in Tethys 174
What Can You Do Today? 177
For Further Reading 178
Chapter 12: Avoiding Unintentional Debt 179
Software Engineering in a Nutshell 179
Code Quality and Unintentional Technical Debt 180
Architecture, Production, and Unintentional Technical Debt 185
What Can You Do Today? 193
For Further Reading 193
Chapter 13: Living with Your Technical Debt 195
Your Technical Debt Toolbox 195
On the Three Moons of Saturn… 201
Technical Debt and Software Development 204
Finale 205
Glossary 207
References 209
Index 217
Foreword xiii
Preface xv
Part I: Exploring the Technical Debt Landscape 1
Chapter 1: Friction in Software Development 3
The Promise of Managing Technical Debt 3
Technical Debt A-B-C 5
Examples of Technical Debt 6
Your Own Story About Technical Debt? 11
Who Is This Book For? 12
Principles of Technical Debt Management 13
Navigating the Concepts of the Book 14
What Can You Do Today? 16
For Further Reading 17
Chapter 2: What Is Technical Debt? 19
Mapping the Territory 19
The Technical Debt Landscape 20
Technical Debt Items: Artifacts, Causes, and Consequences 22
Principal and Interest 24
Cost and Value 27
Potential Debt versus Actual Debt 32
The Technical Debt Timeline 33
What Can You Do Today? 35
For Further Reading 35
Chapter 3: Moons of Saturn–The Crucial Role of Context 37
“It Depends…” 37
Three Case Studies: Moons of Saturn 39
Technical Debt in Context 44
What Can You Do Today? 48
For Further Reading 48
Part II: Analyzing Technical Debt 49
Chapter 4: Recognizing Technical Debt 51
Where Does It Hurt? 51
What Are the Visible Consequences of Technical Debt? 54
Writing a Technical Debt Description 55
Understanding the Business Context for Assessing Technical Debt 58
Assessing Artifacts Across the Technical Debt Landscape 60
What Can You Do Today? 63
For Further Reading 64
Chapter 5: Technical Debt and the Source Code 65
Looking for the Magic Wand 65
Understand Key Business Goals 68
Identify Questions About the Source Code 70
Define the Observable Measurement Criteria 72
Select and Apply an Analysis Tool 75
Document the Technical Debt Items 76
Then Iterate 78
What Happens Next? 79
What Can You Do Today? 80
For Further Reading 81
Chapter 6: Technical Debt and Architecture 83
Beyond the Code 83
Ask the Designers 86
Examine the Architecture 89
Examine the Code to Get Insight into the Architecture 93
The Case of Technical Debt in the Architecture of Phoebe 94
What Can You Do Today? 101
For Further Reading 101
Chapter 7: Technical Debt and Production 103
Beyond the Architecture, the Design, and the Code 103
Build and Integration Debt 106
Testing Debt 109
Infrastructure Debt 110
The Case of Technical Debt in the Production of Phoebe 110
What Can You Do Today? 113
For Further Reading 113
Part III: Deciding What Technical Debt to Fix 115
Chapter 8: Costing the Technical Debt 117
Shining an Economic Spotlight on Technical Debt 117
Refine the Technical Debt Description 119
Calculate the Cost of Remediation 121
Calculate the Recurring Interest 122
Compare Cost and Benefit 123
Manage Technical Debt Items Collectively 127
What Can You Do Today? 129
For Further Reading 130
Chapter 9: Servicing the Technical Debt 131
Weighing the Costs and Benefits 131
Paths for Servicing Technical Debt 136
The Release Pipeline 142
The Business Case for Technical Debt as an Investment 143
What Can You Do Today? 146
For Further Reading 147
Part IV: Managing Technical Debt Tactically and Strategically 149
Chapter 10: What Causes Technical Debt? 151
The Perplexing Art of Identifying What Causes Debt 151
The Roots of Technical Debt 153
What Causes Technical Debt? 154
Causes Rooted in the Business 155
Causes Arising from Change in Context 157
Causes Associated with the Development Process 159
Causes Arising from People and Team 162
To Conclude 165
What Can You Do Today? 165
For Further Reading 166
Chapter 11: Technical Debt Credit Check 167
Identifying Causes: Technical Debt Credit Check 167
Four Focus Areas for Understanding the State of a Project 170
Diagnosing the Causes of Technical Debt in Phoebe 172
Diagnosing the Causes of Technical Debt in Tethys 174
What Can You Do Today? 177
For Further Reading 178
Chapter 12: Avoiding Unintentional Debt 179
Software Engineering in a Nutshell 179
Code Quality and Unintentional Technical Debt 180
Architecture, Production, and Unintentional Technical Debt 185
What Can You Do Today? 193
For Further Reading 193
Chapter 13: Living with Your Technical Debt 195
Your Technical Debt Toolbox 195
On the Three Moons of Saturn… 201
Technical Debt and Software Development 204
Finale 205
Glossary 207
References 209
Index 217
Preface xv
Part I: Exploring the Technical Debt Landscape 1
Chapter 1: Friction in Software Development 3
The Promise of Managing Technical Debt 3
Technical Debt A-B-C 5
Examples of Technical Debt 6
Your Own Story About Technical Debt? 11
Who Is This Book For? 12
Principles of Technical Debt Management 13
Navigating the Concepts of the Book 14
What Can You Do Today? 16
For Further Reading 17
Chapter 2: What Is Technical Debt? 19
Mapping the Territory 19
The Technical Debt Landscape 20
Technical Debt Items: Artifacts, Causes, and Consequences 22
Principal and Interest 24
Cost and Value 27
Potential Debt versus Actual Debt 32
The Technical Debt Timeline 33
What Can You Do Today? 35
For Further Reading 35
Chapter 3: Moons of Saturn–The Crucial Role of Context 37
“It Depends…” 37
Three Case Studies: Moons of Saturn 39
Technical Debt in Context 44
What Can You Do Today? 48
For Further Reading 48
Part II: Analyzing Technical Debt 49
Chapter 4: Recognizing Technical Debt 51
Where Does It Hurt? 51
What Are the Visible Consequences of Technical Debt? 54
Writing a Technical Debt Description 55
Understanding the Business Context for Assessing Technical Debt 58
Assessing Artifacts Across the Technical Debt Landscape 60
What Can You Do Today? 63
For Further Reading 64
Chapter 5: Technical Debt and the Source Code 65
Looking for the Magic Wand 65
Understand Key Business Goals 68
Identify Questions About the Source Code 70
Define the Observable Measurement Criteria 72
Select and Apply an Analysis Tool 75
Document the Technical Debt Items 76
Then Iterate 78
What Happens Next? 79
What Can You Do Today? 80
For Further Reading 81
Chapter 6: Technical Debt and Architecture 83
Beyond the Code 83
Ask the Designers 86
Examine the Architecture 89
Examine the Code to Get Insight into the Architecture 93
The Case of Technical Debt in the Architecture of Phoebe 94
What Can You Do Today? 101
For Further Reading 101
Chapter 7: Technical Debt and Production 103
Beyond the Architecture, the Design, and the Code 103
Build and Integration Debt 106
Testing Debt 109
Infrastructure Debt 110
The Case of Technical Debt in the Production of Phoebe 110
What Can You Do Today? 113
For Further Reading 113
Part III: Deciding What Technical Debt to Fix 115
Chapter 8: Costing the Technical Debt 117
Shining an Economic Spotlight on Technical Debt 117
Refine the Technical Debt Description 119
Calculate the Cost of Remediation 121
Calculate the Recurring Interest 122
Compare Cost and Benefit 123
Manage Technical Debt Items Collectively 127
What Can You Do Today? 129
For Further Reading 130
Chapter 9: Servicing the Technical Debt 131
Weighing the Costs and Benefits 131
Paths for Servicing Technical Debt 136
The Release Pipeline 142
The Business Case for Technical Debt as an Investment 143
What Can You Do Today? 146
For Further Reading 147
Part IV: Managing Technical Debt Tactically and Strategically 149
Chapter 10: What Causes Technical Debt? 151
The Perplexing Art of Identifying What Causes Debt 151
The Roots of Technical Debt 153
What Causes Technical Debt? 154
Causes Rooted in the Business 155
Causes Arising from Change in Context 157
Causes Associated with the Development Process 159
Causes Arising from People and Team 162
To Conclude 165
What Can You Do Today? 165
For Further Reading 166
Chapter 11: Technical Debt Credit Check 167
Identifying Causes: Technical Debt Credit Check 167
Four Focus Areas for Understanding the State of a Project 170
Diagnosing the Causes of Technical Debt in Phoebe 172
Diagnosing the Causes of Technical Debt in Tethys 174
What Can You Do Today? 177
For Further Reading 178
Chapter 12: Avoiding Unintentional Debt 179
Software Engineering in a Nutshell 179
Code Quality and Unintentional Technical Debt 180
Architecture, Production, and Unintentional Technical Debt 185
What Can You Do Today? 193
For Further Reading 193
Chapter 13: Living with Your Technical Debt 195
Your Technical Debt Toolbox 195
On the Three Moons of Saturn… 201
Technical Debt and Software Development 204
Finale 205
Glossary 207
References 209
Index 217