7 Causes of Technical Debt and How to Avoid It

1 - Tech Debt - ASG - v170924B LOWRES

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.

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.

If you have not done so already, you're invited to connect via social to receive the latest news, tips and more on the professional practice of Scrum—and information on the award-winning book, Agile Scrum. Like us on Facebook and follow us on Twitter.

Award-Winning Book -Agile Scrum