5. Demystifying Tech Debt & Impact on our Team
Tech Debt as Disagreement
natural result of writing code
about something we don't have a
proper understanding of.
6. Demystifying Tech Debt & Impact on our Team
Root Cause of Tech Debt
constant changes
software exists in a world of uncertainty
software entropy
market opportunities
new cyber threats
obsolete technology
employee turnover
wrong design
wrong problem statement
solution doesn’t fit business requirements
poor nonfunctional requirements (NFRs)
poor technical skills
engineering wisdom
ownership
7. Demystifying Tech Debt & Impact on our Team
Wrong Design : Sweet Spot
https://refactoring.fm/p/the-true-meaning-of-technical-debt
8. Demystifying Tech Debt & Impact on our Team
Wrong Design : Over Engineering
Effective Problem Statement
YAGNI
KISS
Worse is Better
9. Demystifying Tech Debt & Impact on our Team
Wrong Design : Ownership
Ownership is leading
indicator of engineering
health
13. Demystifying Tech Debt & Impact on our Team
Constant Changes
software exists in a world of
uncertainty
https://refactoring.fm/p/the-true-meaning-of-technical-debt
16. Demystifying Tech Debt & Impact on our Team
Constant Changes
support Guided,
Incremental Change across
Multiple Dimensions
17. Demystifying Tech Debt & Impact on our Team
Impact based on Surveys
52%+ of engineers believe that technical debt negatively impacts their
team’s morale
60%+ of engineers think that tech debt causes bugs, outages, and slows
down the development process
66%+ believe the team would ship up to 100% faster if they had a process
for technical debt
58%+ of companies still have no process for managing technical debt.
Engineers spend 42%+ of their time fixing past rather than building the
future
18. Demystifying Tech Debt & Impact on our Team
Impact based on Surveys
By 2024, global technical debt that has not been remediated will double
totalling $4 trillion
Through 2022, I&O leaders that actively manage and reduce technical
debt will achieve at least 50% faster service delivery times to the
business
- gartner
Engineers spend ~33% of their time dealing with technical debt which
crushes team morale and cost companies ~$85Bn/Year - stripe
22. Managing & Prioritizing Tech Debt
Not All Debt is Created Equal
🟢
Small
● Missing Unit Test
● Remove Redundancy by
Abstraction
● Missing Code
Conventions
🟡
Medium
● Automate Manual process
● Adjust performance of a
small service that’s been
degrading over time
● Improve CI/CD pipeline
deploy time
🔴
Large
● Refactoring a large piece
of legacy code to enable
product improvements
● Migrate a service to new
library / framework
● Rework infrastructure to
improve reliability and
performance.
23. Managing & Prioritizing Tech Debt
🟢 Small Debt
always leave the code better than you found it
- robert c martin
24. Managing & Prioritizing Tech Debt
🟡 Medium Debt
allocated fixed time on every
sprint
consider how much time PM
spend research on feature, do
same for tech debt
25. Managing & Prioritizing Tech Debt
🔴 Large Debt
Engage stakeholders as
part of Quarterly Plan as
Business Decision
26. Managing & Prioritizing Tech Debt
How to Spot Tech Debt
👾 Bugs
♻ Customer Feedback
🚨 SRE Metrics/Golden Signals (Latency, Error, Traffic, Saturation)
Project Management (Story Points, Lead Time, MTTR)
🧋Code Quality (Static Code Analyzer, Security Management)
https://panjigautama.com/engineering-north-star-metrics/
32. Taming Tech Debt 🔥💸
● Tech Debt is Inevitable, Embrace it Gracefully
● Shared understanding of tech debt across Organization
● Proactively identify and track technical debt, make it visible
● Tech debt as a business issue, not a technology problem
● Tech debt as part of Product Prioritization Framework
● Avoid a big-bang approach to pay down all debt, use budget wisely
Tips: Speak to non-technical stakeholders using business terms
e.g. In the last three months we spent 42% of our development time on bug fixing, costing us 1M$ USD