7 Causes of Technical Debt and How to Avoid It
25 September 2017
This is a brief introduction to technical debt—including top causes and how to avoid it.
Technical debt (also known as code debt and design debt) is a term used to describe the eventual consequences of a technical design or development choice made for a short-term benefit but with subsequent consequences. An example is writing suboptimal code to meet a deadline, knowing that the code will have to be rewritten later to make the software maintainable.
Technical debt may have one or more causes, such as:
1. Time pressures
2. Overly complex technical design
3. Poor alignment to standards
4. Lack of skill
5. Suboptimal code
6. Delayed refactoring
7. Insufficient testing
Over time, those factors result in the accumulation of technical inefficiencies that need to be serviced in the future. Unchecked technical debt may make the software more expensive to change than to re-implement.
Technical debt can be avoided or minimized by not taking shortcuts, using simple designs, and refactoring continuously. When there’s technical debt, the team should make the items visible by registering entries in the product release backlog, where the matters will be evaluated and prioritized for resolution.
Controlling technical debt (when others don't) can be a competitive advantage.
This content is an abridged excerpt from the award-winning book, Agile Scrum: Your Quick Start Guide with Step-by-Step Instructions, available in paperback and ebook formats at Amazon. For more on the book, please see agilescrumguide.com.
You're invited to review Scott's bio, find out about his speaking engagements, and read articles in the blog.
You're also invited to connect with Scott on social. Like his page on Facebook, follow him on Twitter, and connect with him on LinkedIn.
The website for his business—Exceptional PPM and PMO Solutions—is http://Exceptional-PMO.com. The digital media kit for his award-winning book—Agile Scrum: Your Quick Start Guide with Step-by-Step Instructions—is located at https://AgileScrumGuide.com.