技术债务:技术债务评估和管理的热点

与任何类型的风险一样,如果管理得当,技术债务也是有益的。一些最佳实践

虽然这篇文章是由供应商撰写的,但并不提倡作者的雇主的特定立场,并且已经被网络世界的编辑和批准。有个足球雷竞技app

尽管从管理的角度来看,“技术债务”从来没有得到过适当的考虑,但它在开发人员中是一个流行的概念。事实上,这对于管理任何拥有软件开发部门的公司都是一个有用的想法。

开发人员倾向于将技术债务描述为期限压力的结果,当为了按时交付产品,开发人员不得不到处走捷径,做出妥协,并在名为代码质量的模糊问题上留下伤口。

从工程的角度来看,技术债务可以被描述为软件设计中为了满足短期需求而做出的选择,但却有可能损害代码的长期个体生成。

从管理的角度来看,技术债务不是债务,而是由于当前开发过程及其结果而增加开发成本或进度的风险。所做的任何决定、编写的任何代码行以及交付的任何功能都必然会有一定的风险。无论开发的是什么,您能够以同等的效率进行开发的唯一情况是没有任何保持兼容性的代码。

在质量上,技术债务的概念是可以理解的。然而,与任何风险一样,有时有必要对其进行量化。技术债务数额有几项指标:

*估计精度。在没有技术债务的情况下,用一个理想的词来说,开发人员估计开发特定特性所需时间的能力将会发展并变得更加准确。增加项目领域的专业知识;更好地使用工具和框架;预测其他团队成员绩效的能力——从理论上讲,这将使任何开发人员和整个开发部门的评估更加精确。如果发生相反的情况,就意味着系统已经失去控制。估算中准确度的损失是可以测量的,这种测量方法可以让你对技术债务的累积数量有一个很好的了解。

*第一部特写的时间到了。另一个有用的衡量标准是新员工的第一个特性的时间。当一个新的开发人员加入团队时,总是需要一段适应期。这个阶段由两个因素决定:代码理解能力(学习曲线的形状)和开发人员在学习曲线上移动的速度(他自己的学习能力)。两者都很重要。然而,如果平均来说,新员工需要更多的时间来为您的生产环境带来新特性,那么学习代码就很可能变得过于扁平——这就是技术债务的原因。

*内部度量失败。开发人员和DevOps真的很喜欢工具和度量。他们不断地进行基准和测量。您的开发团队很可能已经设置了一些工具来自动跟踪软件的当前状态。例如,他们可能有一个系统跟踪构建的“运行状况”,即检查软件的当前版本是否通过测试。即使在大多数情况下,系统显示不良状态也是正常的。与此同时,在长时间不间断的情况下,这一指标处于糟糕的状态是完全不可接受的。如果你有一个月的构建处于红色状态,这意味着在过去的30天里你的软件没有达到它过去所能满足的质量标准。这里重要的度量是全红间隔的最大持续时间。它越大,你越有可能被技术债务淹没。

如何处理技术债务

开发人员不喜欢技术债:它带来不必要的复杂性,使系统丧失优雅和技巧;这只是不应该正确地做事情。或者是吗?

许多有开发背景的团队领导和经理很容易因为任何技术债务的迹象而陷入一场堂吉诃德式的战斗,只要它一出现——甚至在它出现之前。

另一方面,一些以结果为导向的领导者很少或根本不尊重技术债务。如果他们能找到合适的时间换工作,这样的管理者就能成功。他们首先交付结果,在技术债务中越挖越深,让团队承受巨大的压力,在一天结束时,留给继任者几乎无法承受的未解决的问题。

不用说,这两种方法都很危险。与任何类型的风险一样,如果管理得当,技术债务也是有益的。一些最佳实践:

了解你的债务。任何一个有能力处理自己信用卡账单的人都应该知道什么时候他的开销就要增加了。把债务记录在案总是一个好主意。这里可能有两种方法:实际发生时的文档债,或者当您发现它是一个实际障碍时的文档债。我个人的建议是第二点。通过这种方式,你的债务会自动地优先处理。了解你的债务的关键是严格遵循债务记录程序。

*回顾并偿还。了解你的债务,你应该不时地回顾和偿还。有时,在偿还另一项债务的同时还一项债务可能会更好。用财务术语来说,你应该有较高的应付账款周转率:技术债务留在你这里的时间越长,偿还它就越困难,因为知识会分散。

*记住收益递减。收益递减法则几乎无条件地适用于偿还技术债务。消除最大的问题可能会显著降低风险。每一个后续问题的解决都会带来越来越少的效用。

*做好应急计划。由于技术债务是一种风险,拥有应急储备是个好主意。当你的生意需要的时候,你已经累积了账单,这很好。但当你计划下一个阶段,下一个发展时,确保你考虑到了实际的风险。

*分门别类。有撕裂的时候,也有缝合的时候——不仅是对你的整个公司,也是对你的开发人员。一个巨大的诱惑存在于让一些开发人员——那些更快、更不彻底的开发人员——进行新的开发,导致技术债务,而让“苦力”来清理和偿还。但这不是一个好主意。即使它可能影响短期的生产力,为了激励和团队建设,没有开发人员可以免除债务偿还义务。

尽管这里描述了所有的后果,但在处理技术债务时,您应该倾向于承担风险,而不是规避风险。由于承担技术债务仍然需要很大的努力,在短时间内产生过多的债务几乎是不可能的。当快速偿还时,技术债务不会留下太多累积的利息。如果管理得当,技术债务是安全的,并且能够交付对业务增长有价值的产品。

加入网络世界社区有个足球雷竞技app脸谱网LinkedIn对最重要的话题发表评论。

版权©2015Raybet2

工资调查:结果在