Skip to main content

Week 5 - Technical Debt

Dimension

Technical debts have been classified by dimension:

  • Type

    • Code
    • Testing
    • Documentation
    • Infrastructure
    • Design
    • Requirement
    • Architectural
    • ...
  • Intentionality (intentionally or unintentionally) 有意或無意

  • Time horizon (short or long term)

  • Degree of focus

    • Focused Debt (intentionally and managed)
    • Unfocused debt

Patterns to Increase Technical Debts

  • Schedule Pressure 進度壓力
  • Duplication of Code 重複程式碼
  • Get it "right" the first time

Manage Technical Debts

Visualize the technical debts on Kanban board

  • Backlogs
  • Static analyzers
  • Linter

Backlogs are the most used tool

Commonly used backlog tools are Jira, Hansoft, and Excel

  • Do nothing, "if it ain't broke, don’t fix it"
  • Use a risk management approach to evaluating and prioritizing technical debt's cost and value. E.g., allocate 5 to 10 percent of each release cycle to addressing technical debt
  • Manage the expectations of customers and nontechnical stakeholders by making them equal partners and facilitating open dialogue about the debt’s implications

Ineffective

Comments

  • Not considered tracking

Documentation

  • Increases TD awareness 提高技術債意識
  • But highest overhead 高開銷

Bug system

  • Higher overhead

Test coverage

  • Not seem to contribute too much to the awareness and tracking level
  • Not involve much overhead
  • Related to only a small part of TD