A shared technical vision to manage your technical debt

Productivity
Sharing the vision

8 February, 2019

Simon Jones discusses how building a shared technical vision can increase the engagement & productivity of a team, and help manage technical debt.

Problem

When developing software at any company, there are times when compromises are made in order to get valuable features to market. As a result, technical debt inevitably accrues. Managing and technical debt can be difficult. There is almost always a tradeoff to be made between continuing to build product features and taking time out to address it. It is also not always obvious what the correct technical direction should be for a company, and finding time to define this can be challenging. The engineers themselves may not hold a unanimous opinion on what needs to be done. To solve these issues, it is important find time to create and pursue a shared technical vision, which every engineer can buy into, and which can be justified to other areas of a company by showing its long-term contribution to the business.

Actions taken

  • Give the people on your team a voice for where they think that you should be taking things. Consider finding time to facilitate sessions for the team to talk about their views on what they think is and isn't working with the technology stack as it stands today. People can be very vocal when they are given the opportunity to propose ways to improve the technology they are working with, and this can help you shape your strategy.
  • Look at your product roadmap and determine which features are going to grow your business, and whether there are any which are going to be impacted by unaddressed technical debt. Always be looking ahead not only for what is going to impact you today, but more importantly what impact it is going to have three to six months down the line. Focus on addressing technical debt which will hold back your business in the future.
  • Establish a decision-making framework to help make the process as objective as possible. Write out architectural decisions in a structured way. It doesn't have to be reams of documentation, just a one-page summary that both formalizes the decision-making process and also acts as a record of conversations and decisions that you have made. Try to cover the key problems that you are trying to solve, the options that you have considered for each of those problems, their respective merits, and the decisions you have arrived at.

Lessons learned

  • You don't hire great people to then tell them what to do. You hire great people to tell you what to do. So, raise and discuss the topics or decisions that you are struggling with, and use your team as a valuable asset to help formulate your own opinions.
  • Managing technical debt always works best when it is an ongoing process. It's not beneficial to anyone to let the technical debt build up and then spend a month going back and fixing it all, because then your business is at a standstill.
  • As teams and the company mature, the decision making process will shift. Newly-formed teams tend to need decisions explicitly made or facilitated. As your team gets to know one another and become more comfortable with each other's working styles, it is more likely to run itself, thus allowing you to step back and afford them more autonomy.
  • Steer your team towards understanding the business, and detail how their work and your vision contributes to profitability and customer acquisition. This will help the team reach their own conclusions about which technical tasks are the most important. The most successful engineering teams understand the business they are working in.

Related stories

Aligning an Ineffective Team to Realize Product Potential
21 May

Kowsheek Mahmood, Principal and CTO at ArchetypeTech, explains how he adapted an ineffective team by determining and implementing team-evaluation processes to better align the team on product delivery.

Team reaction
Managing Expectations
Underperformance
Firing
Internal Communication
Productivity
Reorganization
Kowsheek Mahmood

Kowsheek Mahmood

Principal & CTO at ArchetypeTech

The Only Good Reason to Adopt Microservices
10 May

Vijay Gill, SVP Engineering at Databricks, explains why using microservices is the right way to scale your engineering organization.

Dev Processes
Productivity
Vijay Gill

Vijay Gill

SVP Engineering at Databricks

How to Achieve Alignment Across the Organization
10 May

Vijay Gill, SVP Engineering at Databricks, emphasizes the importance of organizational alignment and thoroughly explains how to achieve it.

Internal Communication
Sharing the vision
Vijay Gill

Vijay Gill

SVP Engineering at Databricks

Change Is A Necessity For Growth, But Should Be Approached Thoughtfully
27 April

Tarani Vishwanatha, Senior Engineering Manager at Scribd, tells the story about how he helped create a change that helped his company solve a problem that was slowing their ability to grow faster. He learned about the necessary approaches to implement change and how to account for everyone that will be impacted by those changes. It can be challenging to appease everyone while satisfying the stakeholders and leadership.

Hiring
Convincing
Productivity
Impact
Conflict solving
Company Culture
Feelings aside
Tarani Vishwanatha

Tarani Vishwanatha

Senior Engineering Manager at Scribd

Important Lessons In Building Machine Learning
23 April

Tim Sears, now partner at tweag.io, talks about his time spent as Vice President of Data Science & Engineering at Target. He tells us about the challenges he faced while helping Target build Machine Learning into many aspects of their business. A key component of his solution was to find a way to bridge communication gaps and ensure all the important things *do* get discussed.

Cross-functional collaboration
OKR
Conflict solving
Meetings
Internal Communication
Collaboration
Impact
Sharing the vision
Tim Sears

Tim Sears

Vice President, Data Science & Engineering at fp4ai

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.