login


Google Sign inLinkedIn Sign in

Don't have an account? 

Controlling Your Technical Debt

Dev Processes
Team processes
Career Path
Coaching / Training / Mentorship

9 July, 2018

Cory Thomas talks about how his company’s technical debt grew too large and the steps he took to control it.

Problem

I currently work at Xello as the VP of Engineering. I have around 40 engineers, spaced out across six cross-functional teams. However, a while ago, I found that all of my teams were taking on too much technical debt, and we weren't sure why the debt was accruing.

Actions taken

Our first step was to try and work out the cause of the technical debt. A lot of it was based around requirements and not having to write them before features were developed. Teams were moving too quickly in the development phase and the product owners weren't properly describing all of their products' requirements. Not everything would be complete by the time the features were released, and there were bugs in the features. These were then getting added to our backlog. Our next step was to identify technical debt and to determine what it was. There was a big mix-up in terms of what was an actual bug that happened after development, what things were missed during development, and what decisions were made during the development stage that resulted in accrued debt. We started using Jira to track debt and then created a technical debt epic. To avoid the debt getting missed up with bugs and other issues, we tagged them with technical debt in order to give visibility about what our technical debt was, how much we were taking on in each sprint, and when it was occurring. We also worked on improving our testing in order to reduce our debt. By using better unit and integration tests and adding automated testing, we were able to more readily catch debt during the development phase. We also made time during each sprint to manage the debt. During this time, we would pay down debt during each sprint by taking in our backlog of technical debt tickets. Finally, we started focussing more on our requirements to ensure that we were getting the right requirements and that everybody understood the requirements coming from product owners and UX teams before we started developing.

Lessons learned

Make sure that you track your technical debt independently of anything else. In addition, track how much debt you take on during each development cycle. This will allow you to track debt and to prevent it from accumulating over time. No team will get away fully from technical debt. However, if you aren't tracking it, it can spin out of control. Because of this, having the right metrics around debt is important.


Related stories

Handling a Mistake - Adopting a New Workflow
6 July

Shridharan Muthu, VP of Engineering at Zoosk, describes how he quickly agreed to adopt new workflows, a mistake he later regretted, and how he handled the situation by spending the time to course correct and taking a stab at making things easier for his team.

Team processes
Agile / Scrum
Collaboration
Shridharan Muthu

Shridharan Muthu

VP of Engineering, Backend Applications at Zoosk

Helping Engineers Transition from an IC to a Manager Role
2 July

Namrata Ganatra, CTO at Lambda School, delves into all aspects of helping engineers transition from an IC to a manager role.

Personal growth
Coaching / Training / Mentorship
Namrata Ganatra

Namrata Ganatra

CTO at Lambda School

Some Useful Tips for Decoupling Releases and Deployments
30 June

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.

Agile / Scrum
Dev Processes
Pierre Bergamin

Pierre Bergamin

VP of Engineering at Assignar

How to Identify Root Cause of an Application Failure
30 June

Murali Bala, Director, Software Engineering at Capital One, outlines how he applied a root cause analysis to fix a recurring outage of their website.

Dev Processes
Leadership
Productivity
Murali Bala

Murali Bala

Director, Software Engineering at Capital One

Challenges of Migrating Old Legacy Software
27 June

Tim Olshansky, EVP of Engineering at Zenput, explains all the challenges of migrating legacy software to the cloud emphasizing the importance of identifying the riskiest things first and applying small, incremental changes.

Dev Processes
Productivity
Tim Olshansky

Tim Olshansky

EVP Product & Engineering at Zenput

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.