Managing Software Debt


Download Managing Software Debt PDF/ePub or read online books in Mobi eBooks. Click Download or Read Online button to get Managing Software Debt book now. This website allows unlimited access to, at the time of writing, more than 1.5 million titles, including hundreds of thousands of titles in various foreign languages.

Download

Technical Debt in Practice


Technical Debt in Practice

Author: Neil Ernst

language: en

Publisher: MIT Press

Release Date: 2021-08-17


DOWNLOAD





The practical implications of technical debt for the entire software lifecycle; with examples and case studies. Technical debt in software is incurred when developers take shortcuts and make ill-advised technical decisions in the initial phases of a project, only to be confronted with the need for costly and labor-intensive workarounds later. This book offers advice on how to avoid technical debt, how to locate its sources, and how to remove it. It focuses on the practical implications of technical debt for the entire software life cycle, with examples and case studies from companies that range from Boeing to Twitter. Technical debt is normal; it is part of most iterative development processes. But if debt is ignored, over time it may become unmanageably complex, requiring developers to spend all of their effort fixing bugs, with no time to add new features--and after all, new features are what customers really value. The authors explain how to monitor technical debt, how to measure it, and how and when to pay it down. Broadening the conventional definition of technical debt, they cover requirements debt, implementation debt, testing debt, architecture debt, documentation debt, deployment debt, and social debt. They intersperse technical discussions with "Voice of the Practitioner" sidebars that detail real-world experiences with a variety of technical debt issues.

Managing Software Debt


Managing Software Debt

Author: Chris Sterling

language: en

Publisher: Addison-Wesley Professional

Release Date: 2010-12-10


DOWNLOAD





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

Refactoring for Software Design Smells


Refactoring for Software Design Smells

Author: Girish Suryanarayana

language: en

Publisher: Morgan Kaufmann

Release Date: 2014-11-03


DOWNLOAD





Awareness of design smells - indicators of common design problems - helps developers or software engineers understand mistakes made while designing, what design principles were overlooked or misapplied, and what principles need to be applied properly to address those smells through refactoring. Developers and software engineers may "know" principles and patterns, but are not aware of the "smells" that exist in their design because of wrong or mis-application of principles or patterns. These smells tend to contribute heavily to technical debt - further time owed to fix projects thought to be complete - and need to be addressed via proper refactoring. Refactoring for Software Design Smells presents 25 structural design smells, their role in identifying design issues, and potential refactoring solutions. Organized across common areas of software design, each smell is presented with diagrams and examples illustrating the poor design practices and the problems that result, creating a catalog of nuggets of readily usable information that developers or engineers can apply in their projects. The authors distill their research and experience as consultants and trainers, providing insights that have been used to improve refactoring and reduce the time and costs of managing software projects. Along the way they recount anecdotes from actual projects on which the relevant smell helped address a design issue.