Lessons learned in surviving to
Technical Debt
What is technical debt? 🤔
Anything about our code
and our development
environment that slows us
down over the long term 🐌
• Unclear code 🤯


• Duplicated code


• Code that is difficult to test
Lack of automation 🤖


(anything that we could automate but we
do manually today)
• Complex dependencies


• Strong coupling with other systems
we don’t “own”
• Long-lived branches


• Lack of continuous integration


• Long build-test cycle


• Lack of test environments
• Slow, ineffective tools


• Important documentation that is
missing or out-of-date


• Unnecessary documentation that is
being maintained and kept up-to-
date 📜
Other names for technical debt:


• legacy code (valuable code that
we feel afraid to change 😱)


• accidental complication
Why should we care about
technical debt? 🤔
Because the cost of a
feature is strongly
influenced by the tech
debt we have 💸
Technical debt may have
a bad influence on


• planning


• morale


• defects


• delivering visible,
working sw at a
steady pace
Lesson learned in tackling the
technical debt
We can live with technical
debt, as long as we can
afford to pay the interest,
and as long as the debt
doesn’t grow out of control
https://blog.crisp.se/2013/10/11/henrikkniberg/good-and-bad-technical-debt
Visualize the technical debt
Keep a “tech backlog” and agree
on a team policy to include at least
one of these improvement items in
the sprint backlog
our “tech debt backlog”
Don’t treat technical debt reduction
as a separate activity from the
feature development ⚠
Improve code and tools while
developing a feature / making a change
Opportunistic refactoring (*)
(*) refactoring is a simple, regular process of keeping the code clean, easier to understand and easier to change.
Embrace the boy scouts rule:
“Always leave the campground
cleaner than you found it.” 🏕
Reducing technical debt is not a
linear process
Be aware that the branching
strategies have a negative impact
on opportunistic refactoring
Review the De
fi
nition of Done to
include a “good scouts rule” 🤞
Review the De

Lessons learned in surviving to Technical Debt