Back to resources

Reducing significant inherited technical debt

Managing Up
Scaling Team
Dev Processes
Personal Growth
Remote
Legitimacy
Firing
Productivity
Feedback
Coaching / Training / Mentorship
Performance

16 April, 2018

David Murray
David Murray

Cofounder at Confirm

David inherited a team with significant technical debt, accrued over years fighting fires for the CEO of the company. Through significant post-morteming and process changes, the team significantly reduced this debt and changed from a reactive culture to a proactive one.

Problem

When inheriting the team and codebase of a start-up with a product that has going through many transformations to find product-market fit, I discovered quickly that there was a ton of technical debt, including silent failures, huge performance problems, outages, and regressions. The CEO was very used to getting what he needed at a moment's notice, and this merely added to the problem.

Actions taken

The most important immediate action I took was to give visibility to the CEO of the culture that had been created and the tangible, negative impact of him being used to getting what he wanted at a moment's notice. By educating him and the rest of the executive team in a very tangible way, I was able to get their commitment to change their behavior by changing the process of how things were requested and serving as the "shield" for the team whenever the CEO wanted something new. With that fire out, I focused on giving into the codebase deeply, working with the team to identify new or existing technologies that could be used to improve the current situation. From this, we created a "Technical Debt Roadmap" which identified all of the things we could do to make the situation better, prioritized based on impact and time-to-implement. We then committed about 20% of all working time to items on this roadmap and over many months focused on getting this done. Aside from this, we committed to post-mortem every issue that came up, particularly regressions and outages. We also made it a requirement that no post-mortem could be done without requiring a process change as part of the post-mortem itself -- it was never enough to say "Person X should do Y differently next time", particularly because humans are imperfect. Instead, we would require adding a process, whether it's an automated test, a new documented process to follow, or something else. While it may seem like this could lead to a lot of bureaucracy, in fact it only led to preventing the same mistakes from happening again, and it kept us honest with exactly what was required to maintain all of our existing features and functionality.

Lessons learned

When inheriting a new team or codebase, it can be easy to focus on the "symptoms" of technical debt, but if the focus is on fixing these symptoms without addressing the core problem of how culturally the technical debt is accrued, you will only ensure that this debt will come back overtime. Unfortunately, difficult conversations are often necessary, as it may require behavior change of very senior members of the organization to change some of these bad habits. In addition, it's important to find a way to still innovate quickly and accrue some technical debt along the way if it's what is in the best financial interest of the company.

Discover Plato

Scale your coaching effort for your engineering and product teams
Develop yourself to become a stronger engineering / product leader


Related stories

Scaling Engineering @ Trustly

22 January

We doubled the Engineering team from 54 to 109 full-time employees. We expanded our team footprint to include: Brazil, Portugal, and the US. We evolved our road mapping and planning processes from two Product squads to eight Product squads, in alignment with PM areas of ownership.

Scaling Team
Reorganization
Hiring
Ron Pragides

Ron Pragides

VP Engineering at Trustly Group AB

Working Moms and Problems They Face

20 January

Yang Wang, Engineering Manager at Bond, shares how diligently she transitioned from a large company to a series of startups, all balancing between the role of being a working mom.

Goal Setting
Coaching / Training / Mentorship
Career Path
Agile / Scrum
Yang Wang

Yang Wang

Engineering Manager at Bond

Coaching Women Engineers: Professionally, and for Life

20 January

Yang Wang, Engineering Manager at Bond, shares how she coached several women engineers in her team to boost confidence and help them grow in their careers.

Coaching / Training / Mentorship
Team Processes
Career Path
Yang Wang

Yang Wang

Engineering Manager at Bond

From Big Tech to Startup: Adding Value From Day 1

19 January

Angel Jamie, Chief Product Officer at Yayzy, recalls his transition from a well-established tech company to a sustainability startup, and the major differences he experienced.

Dev Processes
Company Culture
Impact
Team Processes
Cross-Functional Collaboration
Changing Company
Career Path
Performance
Angel Jaime

Angel Jaime

CPO at yayzy

Should You Stay Up to Date with Technical Skills As a Product Manager?

19 January

Nani Nitinavakorn, the Sr Product Owner at Revolut, describes how she keeps learning hard skills to increase motivation and respect her team.

Alignment
Innovation / Experiment
Different Skillsets
Personal Growth
Ownership
Coaching / Training / Mentorship
New PM
New Manager
Nani Nitinavakorn

Nani Nitinavakorn

Sr Product Owner at Revolut

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.