It’s important for product owners to understand the role tech debt plays in a healthy and successful product. While end users are focused on the features they interact with, and are less concerned with what it takes to keep a product functioning, product owners have to balance the needs of end users or customers and the well-being of the tech powering the product.
At Fearless we think of tech debt as development tasks that for any number of reasons, will have to be worked on at some other time. Tech debt isn’t a necessary change or need like a story, feature, change request or big. Stories might happen because of tech debt because things are happening so quickly and we don’t have all the information. But these items specifically are not tech debt.
Communication between the scrum master, tech lead, and product owner is essential for managing tech debt. It’s a team effort to figure out ways to solve tech debt, so it’s not building up and reaching an unmanageable level.
How tech debt affects your applications
- Performance: The responsiveness and overall stability of the application
- Changeability: Likelihood of introducing new defects when making changes
- Transferability: The ease with which others can onboard to your application
- Security: The ability of your application to prevent unauthorized intrusions
- Understandability: If the system mirrors the team’s understanding of it and what it should be, then it is easier to explain to the customer
Paying down tech debt helps the team deliver features
In the short-term, paying down tech debt might seem like it’s taking time away from delivering new features.
Unmanaged tech debt affects the quality of what a team builds. More tech debt means more work.
The ongoing complexity of mounting debt tech puts an unnecessary cognitive load on the development team. A simpler thing to handle gives teams the opportunity to deliver something of a higher quality. Products, features, and projects that are hampered with tech debt take longer.
A feature that should be a 2 during a sprint might become an 8 when tech debt is impeding development.
Tech debt isn’t something that can be cleared out in 1 sprint
There are multiple kinds of tech debt and they each require a different amount of time to pay back. It’s not realistic for a team to say they are going to work on tech debt for one sprint and clear everything off the list.
Think of tech debt like projects in your home.
A project like a pile of laundry on the floor is easy tech debt. It takes a few minutes to pick up and put in the hamper. A small piece of tech debt, similar to dirty laundry, can be addressed in one sprint but not all debt works that.
A home project like a beam in your basement that needs to be replaced, that’s not an easy fix. The problem is bigger than the beam because it affects so many other things in your home which need to be addressed, tech debt works the same.
Just like larger projects are more common in older homes, legacy products tend to have tech debt lurking within the project. Working with a legacy product, teams don’t always know what’s hiding within the code so it’s important to regularly look at the the code to see what tech debt is there waiting.
Tech debt is always accruing, and that’s okay
A good mindset to have is that things will break and expecting and accepting that is part of the continuous improvement process.
There is no silver bullet to paying down and maintaining all tech debt but here are a few strategies we turn to:
- Everyone should have a robust understanding of how everything works in the project, so if you lose a team member you are not spending weeks trying to re-engineer how something works that one person was working on in a silo. The more cross-collaboration, the better. People should pair and review stories and be able to complete pipelines so they can also share knowledge and understanding.
- Auditing techniques for reading a code base and extensive documentation
- Be aware of the ninjas on your team and have someone study under them so there isn’t only one person who can do a task
- Communicate the value of paying down technical debt to the product owner and stakeholders (Hey, you’re already reading this article so you’re on your way to maintaining tech debt like a pro)
Check out our product management playbook to learn how Fearless coordinates every step of a product’s life cycle, from planning and development through launch and beyond.