We held an “Ask Me Anything” session. tiny seed The other day, one of the founders of a startup asked me about managing technical debt. The company developed a successful product and found product-market fit, but in doing so, it incurred technical debt. Their codebase was weak, poorly tested, and poorly documented. The founders didn’t know how to balance moving forward and continuing to build new features with going back and paying off technical debt.
this is wonderful Frequently Asked Questions – Almost every time I work with a founder, the following happens: Startups, especially bootstrapped or bootstrapped companies, often don’t have the luxury of writing rigorous, well-designed, carefully tested, and documented code.and i think it is Are you okay! Traction is everything.small startup should Prioritize acquiring customers and growing your product. A perfect codebase will fail without customers, but a sustainable income will reward you for your time cleaning up a dirty codebase. Startups are a place where the “debt” metaphor fits very well. This means future work to get to market faster. I totally agree.
But once you realize those customers and their janky codebases, what’s next?how do Will you start paying off that debt? Here’s my strategy for managing technology debt:
- measurement: While there is no one-size-fits-all solution to technology debt, there are some strategies that can help. Choose one, be consistent, and track it over time.
- Agree on technology debt allocationthe percentage of time the engineering department spends reducing technical debt.
- Monitor and adjust regularly.
Read below for more information.
Measuring technical debt
There is no universally accepted methodology for measuring technology debt. This is probably because the term is quite loosely defined and means different things in different places. And whatever that means, it tends to be very difficult to measure. But managing technology debt requires: Several How to measure it – Measuring poorly is better than not measuring at all.
Some options:
-
Please use the issue tracker. If your organization has good discipline in tracking work using issue trackers (GitHub Issues, Jira, etc.), you can rely on it. Create a “Technical Debt” label, apply it to tickets related to reducing or eliminating technical debt, and use those tickets to measure debt. You can simply use the raw ticket count, or you can aggregate the estimates if you want to make some assumptions. You can now track the rough amount of technical debt in your backlog and watch it increase or decrease over time.
-
Use DORA metrics to indirectly measure technical debt. To measure the performance of your engineering team, you should probably use DORA metrics. If you aren’t already using it, why not get started? Although technology debt cannot be directly measured, do measure effect You can see the second-order impact as the percentage of technical debt for engineering work decreases.
Technology debt has the strongest correlation C.F.R.: Increasing technical debt typically increases the failure rate of changes.Technical debt is also on the decline D.F. and increases L.T.sometimes increases MTTR.
Again, this is not a direct measure of technical debt, but using these metrics as an indirect measure of technical debt tends to be very useful.
-
Please ask the staff. The simplest method is to periodically survey your engineers and estimate how bad your technical debt is going to get. Absolute numbers don’t mean much. “Technology debt is 7 out of 10” doesn’t tell you anything. However, tracking changes over time can provide enough information to make decisions about investing in technology debt.
No matter how you measure it, must be consistent. Choose a technique, practice it, and continue using the same technique over time. This playbook relies on stable measures of technical debt that are tracked over time. If you change the way you measure, it won’t work.
Secure a time budget for technology debt
Next, agree on a portion of the engineering team’s time to spend on technical debt. This could be sprint by sprint, quarterly, or anything else. It’s just an allocation of time spent reducing technical debt. Importantly, agreement is required across the organization – Someone who has an opinion on how the engineering department spends its time: product, sales, support, etc. Everyone needs to agree that engineering has time to work on technical debt. If you can’t get this agreement (and get people to abide by it), this won’t work.
At first, specific percentages will be more of a guess.We don’t yet know how long it will take need Spend to make a dent. We usually recommend starting with 10-20% – Enough time to be meaningful and see effects, but not so long that it is difficult to get buy-in.
I please do not Recommend “Technology Debt Sprints” – e.g. spend 2 weeks every quarter. just We’re working on things like technology debt. Reducing technical debt is more effective if it is a long-term, continuous, step-by-step approach. Also, if you continue to deliver product features in parallel with tackling technical debt, you will have less trouble keeping your stakeholders happy.
Measure and adjust over time
Prices are currently set. Measure technology debt and reduce it over time. From now on, you can sit down with your stakeholders every few months and review your time against your own metrics. If your numbers aren’t improving as quickly as you’d like, invest more time. If you are making significant progress, you may want to devote your time to other tasks.
This will be a continuous push-pull. As mentioned above, there is no great way to measure technical debt, so any measurement you use will introduce a lot of noise. Moreover, even if you wipe out the old, you won’t completely avoid new sources of technology debt. There may also be feature deadlines, large customers who need something specific, and other information needed for engineering prioritization. So you make some progress, adjust your quotas downward to meet the deadline, backtrack for a while and increase your quotas, frustrate your sales team with the slow progress on the feature, and reduce your quotas.
But as long as you have a system in place to consistently measure progress, a mechanism to set aside consistent time, and a commitment from those involved to regularly review and adjust that carve-out, you’ll make progress. can be accomplished.