简介技术债务是拖慢技术团队生产力的罪魁祸首。起初技术债务似乎不是障碍,但随着时间的推移,它会阻碍团队的开发生产力。在许多情况下,团队的工作达到了技术债务成为新功能取得任何进展的障碍的地步。本文将帮助您制定技术债务提案,证明花一些时间来解决问题,更重要的是防止技术债务。让我们来看看您应该在技术债务提案中包含哪些元素,以帮助管理层做出决定。首先,让我们探讨一下为什么需要编写技术债务提案。为什么需要写一份技术债务提案?有时,您的管理层可能没有意识到正在拖慢您的开发团队的技术问题。技术债务提案可以帮助您证明解决技术债务所花费的时间和资源是合理的,并制定进一步防止技术债务的计划。为此,您需要收集证据并提出计划和指标来衡量成功。需要注意的是,您可能做出了错误的估计,因此该解决方案不会执行任何操作。这意味着您需要能够跟踪技术债务提案的有效性,以便在事情没有按预期进行时进行干预。以下重点介绍了指导您创建技术债务提案的不同步骤,包括如何确定工具以及如何围绕它制定计划。第1步:确定对技术债务影响最大的问题首先,确定对工程团队生产力影响最大的技术债务问题。工程团队在浏览问题跟踪或项目管理工具时通常会意识到这些问题。识别这些问题的最佳方法是在编辑器中跟踪技术债务。在编辑器中跟踪技术债务使工程师能够全面了解技术债务,查看每个代码库中问题的上下文,并减少上下文切换。识别技术债务的一种方法是使用VSCode或JetBrains中的免费Stepsize扩展,它们与Jira、Linear、Asana和其他项目管理工具集成。这是开始收集代码库中所有关键技术问题的快速方法。第2步:确定工具不要低估拥有合适的工具来管理技术债务的力量。一些技术团队可能没有使用任何工具,要么使用正确的工具,要么使用过时的工具。这些场景是合理的,在确定将哪些工具包含在技术债务提案中时需要考虑这些场景。对于许多团队来说,实施正确的工具可以解决和防止大量的技术债务。但是,工程团队需要证明使用特定工具的成本是合理的。选择工具时,您需要问自己以下问题:哪种工具提供的功能最适合解决您团队的问题??实施特定工具会产生什么影响?该工具的成本是多少,是否有更便宜的选择可以解决您的技术债务问题?有些工具需要特定的设置,您的技术团队可能还没有准备好,或者这些工具需要自托管,这会产生额外的费用。一旦您认为您找到了正确的工具,请确保在您的技术债务提案中包含上述问题的摘要。此摘要将帮助CTO、团队领导和管理层更好地理解您选择特定工具的原因。有很多工具可以帮助你处理技术债务,这里有一些例子。1.帮助团队确保代码质量的持续集成(CI)工具。CI工具可以执行编码标准并执行复杂类型的测试,例如集成测试或端到端测试,以便为开发人员团队提供对其代码的信任。2.静态分析工具(如SonarQube),分析源代码寻找技术债。这些工具使用定量数据帮助开发人员识别代码库中可能存在的技术债务热点。但是它们有局限性,例如它们不会帮助您识别跨越代码库多个部分的大中型债务,也不会为您提供真正了解每个债务以及如何确定优先级并最终解决它所需的上下文。3.Stepsize,一个前端问题跟踪器工具,可以帮助技术团队在编辑器中跟踪技术债务并将问题链接到代码。这些工具有助于跟踪和修复技术债务、改进编码标准、通过在编辑器中创建问题来减少上下文切换等等。第3步:设置指标并定义基线接下来,您需要定义指标以证明成本合理。指标允许您衡量技术债务提案的有效性,尤其是您选择的工具的有效性(例如,根据您正在衡量的指标,您选择的工具不能解决您的问题)。它允许您干预和重新调整您的技术债务提案,或寻找不同的工具来解决您的问题。换句话说,拥有指标可以避免您在不正确的工具上浪费大量资金。此外,添加错误的工具会进一步增加技术债务,因为您的工程师必须学习他们不熟悉的新工具。以下是可以为持续集成示例定义的指标的快速列表:测试覆盖百分比与编码标准相关的问题数量在生产环境中发现的错误数量软件工程团队的功能吞吐量修复错误的平均时间提示:不要不要忘记设置基线。没有基线,就无法确定您的技术债务提案的有效性。第四步:寻找其他解决技术债务的方法虽然工具可以快速解决技术债务,但也要看看其他解决技术债务的方法。通常,您可以将实施新工具的建议与其他计划结合起来,例如重构周或实施新型会议,例如回顾。重构周为您的团队提供了重新评估代码库和确定他们想要解决的关键问题所需的喘息空间。除其他外,它可以用作重新启动以实施新工具以进一步减少团队的技术债务。其他可能的计划是分享会议,团队成员分享有关代码库的知识或向其他团队成员传授新技术。这完全取决于您的团队正在经历的技术债务类型。结论:保持警惕!一旦您的团队解决了技术债务,就不要让技术债务再次降临到您的团队身上。因此,请继续衡量您设置的指标。除此之外,您还可以创建一个计划来衡量其他指标,以更好地了解团队绩效以及技术债务是如何累积的。简而言之,技术债务是一个随时可以快速卷土重来的可恶怪物。保持警惕!译者介绍朱刚,社区编辑,2021IT影响力专家博主,阿里云专家博主,2019CSDN博客之星Top20,2020腾讯云+社区优秀作者,11年一线开发经验,曾参与猎头服务网站架构设计、企业智能客服及大型电子政务系统开发,主导某大型央企内部防泄密及电子文档安全监控系统建设,目前在北京途家健康从事医疗软件研发。参考链接:https://dzone.com/articles/the-engineers-guide-to-creating-a-technical-debt-p
