TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: How to prioritize tech debt on old system?

4 点作者 qingwei91大约 5 年前
Hi, I was being assigned to a new team as a lead 2 weeks ago. I am not familiar with the team&#x27;s existing system. There are many bits and pieces that I find non-ideal.<p>For example, existing monitoring and alerting are lacking and noisy at the same time, integration test is non-existent, unit test coverage is low and many important code paths are not being tested.<p>How should I tackle these tech debts and still deliver business features? Happy to know your thoughts

3 条评论

joshlreese大约 5 年前
The best advice I can give is to eliminate toil [1]. Non-ideal does not necessarily mean it&#x27;s something you need to change.<p>Beyond that, the standard evaluation of where you are, where you&#x27;re going, and evolving the system to get there is always necessary.<p>For monitoring and alerting - aim for actionable alerts first (raises on-call when there&#x27;s either a known or unknown event), then warnings (slack channel message, for SLOs, not SLAs) second. It&#x27;s better to be more aware than unaware at first, as it will help your team quantify the situation, so play with the thresholds.<p>Testing is always a balance - I&#x27;d suggest ensuring that the critical paths of your system are covered, then only strive to do better from there.<p>As far as scheduling to tackle the tech debt, work toward including it in the requirements for future work. You must address X to build Y, etc. Addressing technical debt as a project that leads to no new end result (eliminating toil is one), has little (but not zero) value.<p>[1] <a href="https:&#x2F;&#x2F;landing.google.com&#x2F;sre&#x2F;sre-book&#x2F;chapters&#x2F;eliminating-toil&#x2F;" rel="nofollow">https:&#x2F;&#x2F;landing.google.com&#x2F;sre&#x2F;sre-book&#x2F;chapters&#x2F;eliminating...</a>
评论 #22661887 未加载
tomohawk大约 5 年前
How about a debt snowball?<p>Pick a level of effort that can be applied to tackle the debt, and start with some of the smaller things, working to the bigger things. You often get more bang for the buck on the smaller things, and it can help energize the team.<p>Try to figure out why the debt is accumulating and fix the habits that are increasing debt. For alerts, as new features are completed, have a checklist for them so that they get reviewed and the feature is not complete until the alerts are necessary and proper. What is the criteria for start and end of alert? Does the alert automatically deactivate?<p>For tests, how is a feature being merged without adequate test?<p>You may need to set different expectations for your leadership as to how long things take as you&#x27;re no longer cutting corners and also making up for previous cutting of corners.
brudgers大约 5 年前
If you&#x27;re not familiar with the system, why are you insistent on changing it? And since you&#x27;re new to the team, what&#x27;s the rush to tell everyone their work is poor? What would be your reaction if you were in their place? How do you think your approach will play out in the long term?<p>Leadership is about people not code. Good luck.
评论 #22661876 未加载