Technical Debt: Definition & Example

Instructor: Olga Bugajenko

Olga is a registered PRINCE2 Practitioner and has a master's degree in project management.

Should you buy a new laptop only once you have enough money saved, or should you buy it today with borrowed money? Organizations face a similar dilemma when developing new IT products. Learn how technical debt can help them overcome the issue!

What is Technical Debt?

Imagine that you want to replace your old, slow laptop with a new laptop costing $1200. Unless you have the money saved up already, you are facing a choice between two scenarios: you can either start saving $100 monthly until you have enough money to purchase the laptop in a year, or you can borrow money and purchase the laptop today. While the second solution is quicker, it will also cost you more since you will have to pay the monthly interest in addition to repaying the debt itself -- with $100 monthly repayment and 10% interest, your total costs will add up to about $1415 instead of $1200. Whether the second solution is worth the additional $215 usually depends on how urgently you need a new laptop. Often, organizations face the same dilemma between a quick but expensive solution and a slower but cheaper solution when developing new IT products -- not just in money, but in code.

Technical debt is a metaphor made up by Ward Cunningham, one of the authors of the Agile Manifesto, to describe what occurs when the development team uses a quick short-term solution that will require additional development work later instead of choosing the best possible solution that requires more development time now. By doing so, the team is borrowing time from the future to release the product more quickly now.

Implementing a quick short-term solution raises the need for refactoring in the future. Refactoring refers to the process of improving the existing software code. The future time that will be spent on refactoring is thought of as the interest payments on the existing debt, which is fully paid down only once the software is upgraded to the best possible solution.

When used in moderation, technical debt can help the organization to bring its projects to life more quickly. Sometimes this is worthwhile -- to meet deadlines, catch the right moment in the marketplace, or stay abreast of competitors. However, the development team must avoid relying on technical debt too often, as it will create more future obligations for refactoring than the team can handle -- just as one shouldn't borrow more money than they can afford to repay on a monthly basis. The team also has to be sure to allocate enough time to pay down the technical debt in the future.

Example

To help you visualize a situation where technical debt can be used by the organization, imagine you're in IT at Tall Oak Toys, and you're working on making better use of your brand performance metrics. Your team needs to write a function that can create monthly performance reports for the sales team, using the information from the two existing databases.

The first solution is to introduce a reporting function feeding from the separate databases. This is quick and cheap to develop. However, it's not the most elegant coding solution, as the program will need to make queries to multiple databases. This slows down the execution of the code and generating a report takes a little longer.

To unlock this lesson you must be a Study.com Member.
Create your account

Register to view this lesson

Are you a student or a teacher?

Unlock Your Education

See for yourself why 30 million people use Study.com

Become a Study.com member and start learning now.
Become a Member  Back
What teachers are saying about Study.com
Try it risk-free for 30 days

Earning College Credit

Did you know… We have over 200 college courses that prepare you to earn credit by exam that is accepted by over 1,500 colleges and universities. You can test out of the first two years of college and save thousands off your degree. Anyone can earn credit-by-exam regardless of age or education level.

To learn more, visit our Earning Credit Page

Transferring credit to the school of your choice

Not sure what college you want to attend yet? Study.com has thousands of articles about every imaginable degree, area of study and career path that can help you find the school that's right for you.

Create an account to start this course today
Try it risk-free for 30 days!
Create an account
Support