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 techniques
- 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.