如何最大限度地减少新技术债务

422

什么是技术债务

通常,技术债务是指仓促的开发过程中或团队成员之间缺乏知识共享。但是,在许多情况下技术债务也是正常软件开发过程的一部分,而且不可避免。

比如,因为想节省时间来发布新的功能,工程师可能不会在基础架构中实施正确的设计模式。此外,不写文档共享知识或具有较低的代码测试覆盖率也是相关场景。

简而言之,代码质量会因各种方式受到影响,比如知识不共享或过于仓促的开发周期

预防应对技术债务的方法

代码和架构重构

留出一些时间来考虑新功能如何影响代码库的架构

重构周为开发人员在实现一组新功能之前评估和反思代码提供了所需的喘息空间,它非常适合解决大笔技术债务。

开始定期的技术债务讨论

复盘会议是工程师分享知识的绝佳方式,这些会议甚至可以让更多的利益相关者参与(如产品所有者),从而对代码库和工程师所面临的问题达成共识。

人们可以通过复盘会议来分享有关代码的更新,工程师可以展示他们所取得的成果。通常,工程师可以借此展示他们的代码库更改,并解释这些变化如何影响代码库以及他们实现这一点的方式。因此,召开复盘会议是每次编码冲刺后分享知识的有效途径。

减少引入新技术债务做法

为了帮助减少引入新的技术债务的可能性,请考虑以下最佳做法:

  • 标准化命名约定、文档需求和参考图。
  • 仪器CI/CD和测试自动化,增加释放频率,提高质量。
  • 将代码重构开发为更多开发人员实践的技能和模式。
  • 定义架构,以便开发人员知道在哪里编码数据、逻辑和经验。
  • 进行定期的代码审查,以帮助开发人员改进编码实践。

如何检测技术债务

  • 安排与产品负责人和业务涉众的协作头脑风暴会议。使用这些会议来审查多个实现选项并讨论权衡,包括哪些选项可能减少技术债务,哪些可能引入维护、支持或其他形式的债务,这些债务需要未来的重新工作。

  • 当使用描述点评估敏捷用户描述时,开发人员应该将复杂性和工作量考虑到评估中。创造新的技术债务的故事应该有更高的估计,反映出以后解决它所需的额外复杂性。

  • 确定度量和管理技术债务的方法,这样它就不是事后才想到的。一些组织用技术债务标记用户故事、代码和其他工件,然后计算技术债务度量。其他人定义敏捷原则和治理模型,以便敏捷产品所有者平衡他们的优先级以减少债务。

通过定义流程和建立度量标准,开发团队可以更容易地向业务发起人说明不解决技术债务的风险。

总结

不解决技术债务可能会给组织带来诸多问题,例如总拥有成本较高、上市时间拖慢、因架构设计不良而导致敏捷性降低和安全性差。

因此,必须衡量一些与技术债务相关的指标,同时要确保有一个特定流程,这样就可以轻松地与团队成员分享知识并持续解决技术债务问题。

更多内容请查看该链接:www.infoworld.com/article/365…