Technical Debt (Dan Nicola, Florin Cardasim)


Published on

Technical Debt is usually referred to as something Bad. Most articles and books on the subject are about how to get rid of technical debt. But is debt always bad? When can it be good?

In this session we will see how to use technical debt as tool, and distinguish between good and bad debt. We will discuss about several types of technical debt we can have in our code, what are the acceptable levels of debt and ways to handle it effectively without having to pay a lot of interest.

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Technical Debt (Dan Nicola, Florin Cardasim)

  1. 1. Dan Nicola | Maxcode Florin Cardasim | Endava
  2. 2. Premium community conference on Microsoft technologies itcampro@ itcamp14# Huge thanks to our sponsors & partners!
  3. 3. Code Debt Architectural Debt Test Debt Knowledge Debt Technological Debt
  4. 4. Customers are annoyed by bugs or missing features due to low productivity.
  5. 5. This leads to additional costs for the helpdesk, which annoys the people there, too.
  6. 6. Increased development time and quality issues are also a problem for marketing.
  7. 7. Bugs lead to frequent patches, which annoys the operations team.
  8. 8. Many annoyed parties definitely don’t make the management happy.
  9. 9. Last but not least also the developers are suffering. No one wants to deliver bad work.
  10. 10. “the only one who can ever change this code is Claudiu” “let’s just copy & paste this code” “it’s ok for now but we’ll refactor it later!” “if I touch that code everything will break” “ToDo/FixMe: this should be fixed before release” “let’s finish the testing in the next release”
  11. 11. Cover it with tests and then modify it Making it extensible and then extend it Make it modular and then rewrite it
  12. 12. e.g. 10% of the available time
  13. 13. Some teams do a purely technical release to improve the codebase from time to time This approach is only useful if a list with the really necessary refactoring already exists
  14. 14. Established best practice to define purely technical work packages Technical change to be made Why this technical change is important for the project In which part of the code the technical change has to be performed
  15. 15. Debt repayment Debt conversion Just pay the interest
  16. 16. Technical Debt is unavoidable Technical Debt is not always bad, no need to be (fully) repaid in every case We’ve got tools (Sonar, inCode, many others) Technical Debt is often a cultural issue, not a technical one
  17. 17. Please fill in the evaluation forms