Book description
Shipping imperfect software is like going into debt. When you incur debt, you can do things faster than if you had to pay for everything upfront. Software debt takes five major forms: technical, quality, configuration management, design, and platform experience. In today’s rush to market, software debt is inevitable. And that’s okay—if you’re careful about the debt you incur,and if you quickly pay it back.
In Managing Software Debt, leading Agile expert Chris Sterling shows how understanding software debt can help you move products to market faster, with a realistic plan for refactoring them based on experience.
Writing for all Agile software professionals, Sterling explains why you’re going into software debt whether you know it or not—and why the interest on that debt can bring projects to a standstill. Next, he thoroughly explains each form of software debt, showing how to plan for it intelligently and repay it successfully. You’ll learn why accepting software debt is not the same as deliberate sloppiness, and you’ll learn how to use the software debt concept to systematically improve architectural agility. Coverage includes
Managing tensions between speed and perfection and recognizing that you’ll inevitably ship some “not quite right” code
Planning to minimize interest payments by paying debts quickly
Building architectures that respond to change and help enterprises run more smoothly
Incorporating emergent architecture concepts into daily activities, using Agile collaboration and refactoring
Delivering code and other software internals that reduce the friction of future change
Using early, automated testing to move past the “break/fix” mentality
Scripting and streamlining both deployment and rollback
Implementing team configuration patterns and knowledge sharing approaches that make software debt easier to repay
Clearing away technical impediments in existing architectures
Using the YAGNI (“you ain’t gonna need it”) approach to strip away unnecessary complexity
Using this book’s techniques, senior software leadership can deliver more business value; managers can organize and support development teams more effectively; and teams and team members can improve their performance throughout the development lifecycle.
Table of contents
- Praise for Managing Software Debt
- Title Page
- Copyrigt Page
- Contents
- Foreword
- Introduction
- Acknowledgments
- About the Author
- Chapter 1. Managing Software Debt
- Chapter 2. Technical Debt
- Chapter 3. Sustaining Internal Quality
- Chapter 4. Executable Design
- Chapter 5. Quality Debt
- Chapter 6. Configuration Management Debt
- Chapter 7. Design Debt
- Chapter 8. Designing Software
- Chapter 9. Communicating Architectures
- Chapter 10. Technology Evaluation Styles
- Chapter 11. Platform Experience Debt
- Appendix: What Is Agile?
- Index
- Footnotes
Product information
- Title: Managing Software Debt: Building for Inevitable Change
- Author(s):
- Release date: December 2010
- Publisher(s): Addison-Wesley Professional
- ISBN: 9780321700582
You might also like
book
The Case for the Chief Data Officer
Data are an organization's sole, non-depletable, non-degrading, durable asset. Engineered right, data's value increases over time …
book
CCBA® and CBAP® Certifications Study Guide
A handy, on-the-job reference filled with real-life scenarios to help you achieve the Certified Business Analysis …
book
Applied Modeling Techniques and Data Analysis 1
BIG DATA, ARTIFICIAL INTELLIGENCE AND DATA ANALYSIS SET Coordinated by Jacques Janssen Data analysis is a …
book
Interview Questions in Business Analytics
Discover relevant questions—and detailed answers—to help you prepare for job interviews and break into the field …