From the course: Refactoring with GitHub Copilot

Pay down technical debt - Github Copilot Tutorial

From the course: Refactoring with GitHub Copilot

Pay down technical debt

Refactoring is a scary word to managers. It sounds like labor that has no appreciable improvement to the product. But we know better. One way developers often explain barriers to code is with the phrase technical debt. This Stack Overflow article is a great read, suggesting we stop using that phrase. Referring to brittle or hard-to-change code as technical debt might not be an accurate, but it's also not helpful. After spending time refactoring and fixing, you will have passed the current problem only to uncover the next hurdle. If you're getting pushback from leadership on TDD and refactoring, stop talking about those things in developer language and start talking about them in business language. And start tracking them. In my course on advanced PHP debugging, I suggest a few ways to capture that data. You and your team can keep track of regressions after releases. See if adding tests and incremental refactoring influences the trend. One metric that is used in DevOps is deploy frequency. This is one blog article in the topic, but there are tons out there. Teams that release multiple times per day have seven times lower regressions. And when regressions occur, they are corrected 2,600 times faster than teams that release weekly. To get to that point, a culture of incremental changes, testing, and constant refactoring is necessary, and metrics like that make a compelling argument to leadership at all levels to change the approach. This video is a bit less technical, but I would encourage you to own refactoring as a part of how you build software. It's not an activity on its own that needs to be accounted for in sprint planning.

Contents