衡量技术债务是否达成一致?

by

想让一屋子的软件开发人员争论几个小时? 询问他们如何衡量技术债务. 第一个小时将用来讨论定义, 当他们不可避免地无法就定义达成一致时, 他们会继续衡量他们无法定义的东西. 这场争论已经持续了几十年.

In 2016, 我和大约40名研究技术债务的科学家被邀请到达格斯图尔度过几天, 德国最终解决了这个问题. 经过几个小时的展示和讨论,宝博体育app下载得出的结论是德国人酿出的啤酒非常棒. Two factions emerged from the conclave: an academic faction believing that 技术债务 could only be defined as conscious sub-optimal design decisions that must be fixed later; and an industrial contingent believing CIOs don’t care whether a flaw was intentional or not -- if they have to pay to fix it, 它是 技术债务.

我属于工业派. 我和同事一起工作 资讯及软件质素协进会 根据评估修正《宝博体育app下载》四个弱点所需的时间,制定衡量技术债务的标准 自动化源代码质量度量. Philippe-Emmanuel Douziech开发了一种加权方法,根据需要修复弱点的环境的难度和复杂性来调整工作量. 因此,宝博体育app下载通过系统中环境产生的权重来调整在应用程序中检测到的每个方案弱点, 然后对所有的弱点进行总结,从而对应用程序中的技术债务进行评估. 这些努力可以以美元、欧元、卢比或你最喜欢的货币计价. 然而,这只是衡量技术债务的众多建议之一.

来自希腊三所大学的六名计算机科学家决定研究提供技术债务衡量标准的不同商业工具之间的一致性1. 他们分析了50个开源程序, 25个是Java, 25个是JavaScript, 拥有三项商业技术: 中国科协应用智能平台SonarCube和Squore. 他们比较了50个项目中每种技术对每个课程的技术债务的排名. 他们的结果表明,在统计上,三种技术之间基于其技术债务数额的类别排序有很强的一致性. 这是令人鼓舞的,因为每一种技术都以不同的方式衡量技术债务,并在制定其衡量标准时评估不同的弱点集合.

他们的结论是,尽管在计算技术债务的衡量标准时,对具体应衡量哪些因素没有达成一致意见, 然而,不同的测量方法得出的结论大致相似,即哪些阶层的债务最重. 虽然技术在评估技术债务时并不总是一致的, 开发人员可以使用这些措施来针对特定的类进行补救,这是一个充分的共识. So, 目前还没有衡量技术债务的通用方法, 技术越来越接近,IT部门可以使用技术债务措施来改善应用. 特别是, 宝博体育app下载相信方案的衡量提供了最好的方法,因为它是一个基于常见缺陷列举中的严重缺陷的开放标准.

1 T. Amanatidis N. Mittas,. Moschou,. Chatzigeorgiou,. Ampatzoglou, & L. 旧金山(2020). 评估技术债务度量工具之间的一致性:建立技术债务的实证基准. 经验软件工程,25 (5),4161-4204.

提交: 技术债务
比尔·柯蒂斯
比尔·柯蒂斯 高级副总裁兼首席科学家
Dr. 比尔·柯蒂斯,CAST高级副总裁兼首席科学家,领导CAST研究实验室. 在软件行业工作了40年. Curtis还是IT软件质量联盟(方案)的执行董事,并参与编辑了多个ISO 25000软件质量标准. 他最著名的是在卡内基梅隆大学软件工程学院创立了能力成熟度模型(CMM)和人员CMM.
加载更多的评论
谢谢你的评论! 你的审查必须首先得到批准
你已经提交了这个项目的评审
|
()