What exactly is technical debt? In this ProductTank San Francisco talk, Asa Schachar, Engineering Manager at Optimizely, explains exactly what technical debt is and how to stop it from slowing down the product development process.
Watch the video to see his talk in full. Or read on for an overview of his key points:
- What is technical debt and why is it important
- How to deal with technical debt
What Is Technical Debt and Why Is It Important
As a product manager, the focus may be on shipping a product and features. Expectedly, some things may fall to the wayside, like writing automated tests to make sure the product is doing what it is expected. Now, due to a lack of testing, there are a number of bugs and users feel like they’re doing the jobs of testers.
A member of the engineering team may want to add a new language that is supposed to be better than a previous language used to build the product. Now, there are a number of tools and technologies in your technology stack that all do something similar. This can slow down your development speed and make it difficult to recruit.
Technical debt refers to non-product work that has an impact on product quality, reliability, performance and a host of other factors. It is a ticking time bomb that needs to be handled upfront to prevent issues from cropping up down the road.
How to Deal With Technical Debt
The methods used to tackle technical debt could depend on the size of the team and existing processes. The key is to experiment and see what works best. Product managers and engineering managers should work together to determine how to fix the issue. For some companies, it could mean establishing a separate infrastructure team. At the very least, there should be someone within the organization that cares about the process of dealing with technical debt. The key takeaway is that technical debt should be communicated as a business-oriented problem with a measurable investment.