So many teams deal with tech debt on a daily basis, whether it is working around existing tech debt or desperately trying to prevent new debt from being added. How we identify and talk about tech debt can also influence how much bandwidth we get to deal with our tech debt. In this talk we go through how to stop adding new tech debt, how to eliminate tech debt, and how to keep your stakeholders along for the ride.
It has happened to a lot of us. We join a new team, pull the code, and find a heaping steaming pile of complicated spaghetti code. When we look at the backlog, bug tickets are piling up and the product team is asking for new features. Examining the code further reveals few valuable unit tests and all integration testing is being manually performed by a separate team several time zones away. Developing in this code base is going to be risky and difficult.
So what can we do next? In this talk I offer some tried and true advice for how to begin cleaning up technical debt, how to strategize where to start building up robust test suites and how to implement guard rails to prevent further build up of code that does not meet your team’s coding standards. We will discuss how to create a shared understanding of code excellence amongst your teams, how to enforce good coding practices, and which tools we can leverage to enforce these standards. We will cover how to develop strategies that can be built into our daily coding practices that will intentionally reduce technical debt. And finally, we will discuss how to talk about technical debt with non-technical leaders and how to provide tangible metrics to help prove the value of reducing tech debt in our applications to both developers and end users.