Finding Time to Remove Tech Debt
28 July, 2020
The rapid pace of feature deployment and the ever-demanding market create a fertile ground for tech debt. The business will often find shipping new features far more important than fixing legacy things and ensuring long-term stability. But, as the tech debt accumulates, you will be less and less productive and not be able to spend time on what you originally planned. Poorly managed tech debt would only increase over time causing more tech debt and consequently less engineering power to focus on features.
First and foremost, I would initiate measuring, tracking and exposing tech debt. One of the most worrisome things about tech debt is that it remains unseen/unmeasured until it starts to threaten day-to-day operations. I would precisely measure how much time my engineers are spending investigating and supporting tech debt. Data proved to be the most persuasive argument when talking to management.
Then I mapped all the dependencies and convincingly showcased the impact the technical debt had on developing new features and our overall productivity. Hopefully, that would secure my buy-in from the leadership to proceed with the proposed activities.
I would dedicate a percentage of the team velocity to refactoring/tech debt removal in each sprint. While this percentage may vary I would estimate that allocating 30 percent of the team velocity to focus on this problem would most often suffice. Also, the tech debt removal should be clearly planned in the roadmap and defined as a feature (as of equal value to any other, if not more important) that would reduce the time spent for support activities.
Be resolute when it comes to your standards -- say no to workarounds and quick hacks unless the company's survival is at stake. Pursue your standards and build a company-wide culture around it.
- Using metrics was the most persuasive argument I could come up with to convince management that we had to dedicate time to remove tech debt. Numbers and data are your friends when removing tech debt.
- Rapid deployment and fast growth are only sustainable if done on solid foundations. You should carefully present and explain the problem of the impact of bad bricks on your architecture. Metaphors referring to the company as a house not only resemble the problem but would be helpful for non-technical leadership to understand the scope and severity of the problem.
- Another persuasive argument to convince leadership is that tech debt means less time for engineers to work on new top-selling features. Reducing tech debt allowed us to also reduce the time to market as more engineers could focus on shiny new things.
Pascal Rodriguez, Director of Engineering at Bestmile, explains why taking care of tech debt is important and what it takes you away from.
Director of Engineering at Bestmile
Pierre-Alexandre Lacerte, Senior Principal Engineer at Upgrade, Inc., discusses two approaches of service refactoring explaining why he would choose one over the other.
Senior Principal Engineer at Upgrade inc
Pierre-Alexandre Lacerte, Senior Principal Engineer at Upgrade, Inc., explains why it is important to simulate failures and how game days benefited his organization.
Senior Principal Engineer at Upgrade inc
Andrew First, Co-Founder and Chief Technologist at Leanplum, discusses how he managed to complete a large infrastructure project by instilling confidence in his team, setting precise benchmarks, and streamlining his focus on what really mattered.
Co-founder & Chief Technologist at Leanplum
Pierre Bergamin, VP of Engineering at Assignar, outlines some useful tips for decoupling releases from deployment and increasing deployments by a huge factor, speeding up reverts and planning releases in a better way.
VP of Engineering at Assignar
You're a great engineer.
Become a great engineering leader.
Plato (platohq.com) is the world's biggest mentorship platform for engineering managers & product managers. We've curated a community of mentors who are the tech industry's best engineering & product leaders from companies like Facebook, Lyft, Slack, Airbnb, Gusto, and more.