Managing Technical Debt

Managing Technical Debt

Hey there, and welcome to the 5th edition of the "It Depends" newsletter.

If you're new here, every week we explore topics around Product, Growth and Startups.

let's go ??



Managing Technical Debt

You'll frequently hear me say that intentional Technical Debt can be a good thing.?It helps you move faster without over-optimising.

But most tech teams believe that the only correct amount of tech debt is exactly zero.

So where's the balance?


Technical debt is neither good nor bad in itself, but if you let it accumulate over time it’s going to:?

  • slow down your feature development velocity
  • make it hard to retain developers as they don’t want to work on bad code
  • impact your ability to raise money or get acquired?


On the other hand Technical debt is particularly useful in early-stage startups still building their basic product and looking for Product-Market Fit.?

What's the point of having the most optimised codebase and then having no customers? or What's the point of the most efficient database when there's no revenue?


But the reality is that technical debt eventually catches up with you and slows you down… or worse, something breaks and you'll have no clue how to fix it.

So, what can you do as a Founder or PM to work with your engineering team to manage Technical Debt and prevent it from accumulating beyond control?

Let's explore a few ideas:


1. Slow down and spend more time

This might not be possible, and it’s probably the reason why you have tech debt in the first place. Slowing down will allow you to plan, write better code and test it properly. To limit shortcuts and bad practices, plan reasonable workloads for your sprints.?


2. Break features down into smaller pieces

Scoping features into smaller deliverables allows you to manage each part in more detail. This way you focus on smaller scopes and probably introduce less debt. Things can be improved over time and debt reduced as you revisit a feature to add more to it.?


3. Look for quick wins

It is simpler to manage technical debt when you know exactly what needs to be done and particularly if it can be done quickly. This can be as simple as documenting a process, fixing a small bug, retiring a feature or preparing for the next release. Quick wins make debt feel more manageable.?


4. Regularly budget time for housekeeping

Someone told me they do 3 dev sprints followed by 2 technical debt sprints. That’s probably way too much! But you can still dedicate time to catch up on debt as you go along as part of your weekly dev process.?


5. Write tests along with your code

Writing tests will help you create more maintainable code. Even if the code is messy, these test cases can essentially act as basic documentation which takes you through what it’s supposed to do. Ideally, have automatic tests as part of the full thing, but that might not be possible if you’re going at 150%.?


6. Track your Technical debt

Log the technical debt and prioritise it as part of the planning process. This should be part of your backlog. If it’s not written, it will not get done. I typically find that putting these as part of the backlog, particularly if very granular, they are the perfect task for when someone needs a break and needs something easier to work on.?


7. Make it part of the conversation

Speak about technical debt at all levels. PMs should expose this reality to other business areas. Making it a recurring topic of conversation in planning meetings helps keep the focus on long-term improvements and scalability. What will this shortcut save us? And what might be the challenges for later??


8. Have a KPI tied to basic product expectations

Have specific objectives around load times or other metrics that can only be improved by addressing performance and technical debt. This gives a business incentive to tackle the debt. And makes the conversations easier to have as it won't be something which "just the engineers want to work on".?


9. Reward the process of reducing debt

If we want a team to prioritise technical debt, it needs to be just as important as building something new. Have those conversations around debt, measure a related KPI and celebrate when you get performance wins.?This means leadership needs to get on board with how important it is to pay down your debt, and performance reviews and bonuses should factor in code debt wins.


10. Do an entire large refactor

Sometimes you’ve just accrued way too much technical debt and the only realistic option is to just rewrite everything from scratch. This often happens in early-stage startups after having built a number of MVPs and it’s now time to scale. Rebuilding might be what’s required to be ready for the next phase of growth.


Conclusion

Technical debt is part of a normal software lifecycle. And it is not explicitly bad, only uncontrollable technical debt is bad.

The core of the issue is in culture and communication. Spending time on tech effort must be a conscious decision.

So manage it properly.



Just for fun and some stuff to click on

?? I'm mentoring at the PitchBlack startup competition . Top Prize of €110k in services.

?? Two Lanes - Ascend

?? Been reading a lot on PLG and this is a brilliant guide: Your Guide to PLG Pricing

???The final trailer for DUNE: Part 2 looks fantastic



Update your LinkedIn profile!

Two weeks ago, I had a free Friday morning and casually posted that I was going to spend a few hours giving feedback on LinkedIn profiles.

I expected maybe 15 people to reply and then I could go on to cook lunch and move on with my day. But the LinkedIn algorithm gods started spreading this post and, yeah, it was impossible to finish them all.

Two weeks later, nearly 700 requests and I’m still trying to catch up. At this rate, if I spend just 5 minutes on each profile it would take me 3,500mins… that’s 58 hours straight… which means 10 full work days… totally not doable!… I have work to do and a life to live! ??

So, here are 2 things you can do today to improve your profile:

1. Sort through the comments that got a reply on the original post and see what you can learn from them. There's a lot you can apply from the feedback given to others.

2. If you still want a personalised review, I have a Profile Review service . And the first version is very affordable. There are 3 options:

- Basic: quick feedback to get you started

- Detailed: going in-depth, section by section on your profile

- Advanced: Everything in the Detailed package + a 1:1 call

Get your profile reviewed



Content recap from this week

The Discovery process is about confidence.

The Discovery process is not there to tell us what to build.?We do not prove an idea. But rather, we gain confidence in a direction... Continue reading


Be profitable and survive

Practically every founder I spoke to over the last 4 weeks is now trying to become profitable with the resources available... Continue reading


Get out there and kill something

Planning and documenting is good, but at some point, you need to get your hands dirty. Build something, take it to market... Continue reading


Managing technical debt (carousel)

10 ways to manage Technical Debt and keep it under control. Explored from a Founder or PM perspective... Continue reading



Work with me

Whenever you're ready, there are 4 ways I can help you:

  1. I advise startups on what to prioritise to drive product growth. In practice, I help SaaS, Tech and Mobile App companies define (1) What products to build, (2) How to build them and (3) How to get adoption. If you want to work with me, reach out?here ?or send me a?DM .
  2. Work with me 1:1. For Product Managers and Founders who want hands-on and specific advice on their work or career.?Learn more?here .
  3. Follow me?on LinkedIn ?for daily, actionable content on Product, Growth and Startups, and?subscribe ?to this weekly newsletter for some more thoughts.
  4. Reach out?if there's anything else I might be able to help you with [email protected]




That's all for this week. My inbox is open if I can help you.

speak soon ??

Matthew

要查看或添加评论,请登录

社区洞察

其他会员也浏览了